static const uint32_t xref[] = {
    0, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
    78, 79, 80, 82, 83, 84, 85, 86, 87, 88, 89, 90, 96, 97, 98, 99, 100,
    101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115,
    116, 117, 118, 119, 120, 121, 122, 168, 180, 183, 192, 193, 194, 195,
    196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 210,
    211, 212, 213, 214, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227,
    228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 241, 242,
    243, 244, 245, 246, 248, 249, 250, 251, 252, 253, 255, 256, 257, 258,
    259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 274,
    275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
    289, 290, 291, 292, 293, 296, 297, 298, 299, 300, 301, 302, 303, 304,
    308, 309, 310, 311, 313, 314, 315, 316, 317, 318, 323, 324, 325, 326,
    327, 328, 332, 333, 334, 335, 336, 337, 340, 341, 342, 343, 344, 345,
    346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 360, 361,
    362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
    376, 377, 378, 379, 380, 381, 382, 383, 416, 417, 431, 432, 439, 461,
    462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
    476, 478, 479, 480, 481, 482, 483, 486, 487, 488, 489, 490, 491, 492,
    493, 494, 495, 496, 500, 501, 504, 505, 506, 507, 508, 509, 510, 511,
    512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
    526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
    542, 543, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
    562, 563, 658, 697, 768, 769, 770, 771, 772, 774, 775, 776, 777, 778,
    779, 780, 783, 785, 787, 788, 795, 803, 804, 805, 806, 807, 808, 813,
    814, 816, 817, 824, 832, 833, 834, 835, 836, 837, 884, 894, 901, 902,
    903, 904, 905, 906, 908, 910, 911, 912, 913, 917, 919, 921, 927, 929,
    933, 937, 938, 939, 940, 941, 942, 943, 944, 945, 949, 951, 953, 959,
    961, 965, 969, 970, 971, 972, 973, 974, 978, 979, 980, 1024, 1025,
    1027, 1030, 1031, 1036, 1037, 1038, 1040, 1043, 1045, 1046, 1047,
    1048, 1049, 1050, 1054, 1059, 1063, 1067, 1069, 1072, 1075, 1077,
    1078, 1079, 1080, 1081, 1082, 1086, 1091, 1095, 1099, 1101, 1104,
    1105, 1107, 1110, 1111, 1116, 1117, 1118, 1140, 1141, 1142, 1143,
    1217, 1218, 1232, 1233, 1234, 1235, 1238, 1239, 1240, 1241, 1242,
    1243, 1244, 1245, 1246, 1247, 1250, 1251, 1252, 1253, 1254, 1255,
    1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266,
    1267, 1268, 1269, 1272, 1273, 1460, 1463, 1464, 1465, 1468, 1471,
    1473, 1474, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1496, 1497,
    1498, 1499, 1500, 1502, 1504, 1505, 1507, 1508, 1510, 1511, 1512,
    1513, 1514, 1522, 1570, 1571, 1572, 1573, 1574, 1575, 1608, 1610,
    1619, 1620, 1621, 1728, 1729, 1730, 1746, 1747, 1749, 2325, 2326,
    2327, 2332, 2337, 2338, 2344, 2345, 2347, 2351, 2352, 2353, 2355,
    2356, 2364, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2465,
    2466, 2479, 2492, 2494, 2503, 2507, 2508, 2519, 2524, 2525, 2527,
    2582, 2583, 2588, 2603, 2610, 2611, 2614, 2616, 2620, 2649, 2650,
    2651, 2654, 2849, 2850, 2876, 2878, 2887, 2888, 2891, 2892, 2902,
    2903, 2908, 2909, 2962, 2964, 3006, 3014, 3015, 3018, 3019, 3020,
    3031, 3142, 3144, 3158, 3263, 3264, 3266, 3270, 3271, 3272, 3274,
    3275, 3285, 3286, 3390, 3398, 3399, 3402, 3403, 3404, 3415, 3530,
    3535, 3545, 3546, 3548, 3549, 3550, 3551, 3904, 3906, 3907, 3916,
    3917, 3921, 3922, 3926, 3927, 3931, 3932, 3945, 3953, 3954, 3955,
    3956, 3957, 3958, 3960, 3968, 3969, 3984, 3986, 3987, 3996, 3997,
    4001, 4002, 4006, 4007, 4011, 4012, 4018, 4019, 4021, 4023, 4025,
    4133, 4134, 4142, 6917, 6918, 6919, 6920, 6921, 6922, 6923, 6924,
    6925, 6926, 6929, 6930, 6965, 6970, 6971, 6972, 6973, 6974, 6975,
    6976, 6977, 6978, 6979, 7680, 7681, 7682, 7683, 7684, 7685, 7686,
    7687, 7688, 7689, 7690, 7691, 7692, 7693, 7694, 7695, 7696, 7697,
    7698, 7699, 7700, 7701, 7702, 7703, 7704, 7705, 7706, 7707, 7708,
    7709, 7710, 7711, 7712, 7713, 7714, 7715, 7716, 7717, 7718, 7719,
    7720, 7721, 7722, 7723, 7724, 7725, 7726, 7727, 7728, 7729, 7730,
    7731, 7732, 7733, 7734, 7735, 7736, 7737, 7738, 7739, 7740, 7741,
    7742, 7743, 7744, 7745, 7746, 7747, 7748, 7749, 7750, 7751, 7752,
    7753, 7754, 7755, 7756, 7757, 7758, 7759, 7760, 7761, 7762, 7763,
    7764, 7765, 7766, 7767, 7768, 7769, 7770, 7771, 7772, 7773, 7774,
    7775, 7776, 7777, 7778, 7779, 7780, 7781, 7782, 7783, 7784, 7785,
    7786, 7787, 7788, 7789, 7790, 7791, 7792, 7793, 7794, 7795, 7796,
    7797, 7798, 7799, 7800, 7801, 7802, 7803, 7804, 7805, 7806, 7807,
    7808, 7809, 7810, 7811, 7812, 7813, 7814, 7815, 7816, 7817, 7818,
    7819, 7820, 7821, 7822, 7823, 7824, 7825, 7826, 7827, 7828, 7829,
    7830, 7831, 7832, 7833, 7835, 7840, 7841, 7842, 7843, 7844, 7845,
    7846, 7847, 7848, 7849, 7850, 7851, 7852, 7853, 7854, 7855, 7856,
    7857, 7858, 7859, 7860, 7861, 7862, 7863, 7864, 7865, 7866, 7867,
    7868, 7869, 7870, 7871, 7872, 7873, 7874, 7875, 7876, 7877, 7878,
    7879, 7880, 7881, 7882, 7883, 7884, 7885, 7886, 7887, 7888, 7889,
    7890, 7891, 7892, 7893, 7894, 7895, 7896, 7897, 7898, 7899, 7900,
    7901, 7902, 7903, 7904, 7905, 7906, 7907, 7908, 7909, 7910, 7911,
    7912, 7913, 7914, 7915, 7916, 7917, 7918, 7919, 7920, 7921, 7922,
    7923, 7924, 7925, 7926, 7927, 7928, 7929, 7936, 7937, 7938, 7939,
    7940, 7941, 7942, 7943, 7944, 7945, 7946, 7947, 7948, 7949, 7950,
    7951, 7952, 7953, 7954, 7955, 7956, 7957, 7960, 7961, 7962, 7963,
    7964, 7965, 7968, 7969, 7970, 7971, 7972, 7973, 7974, 7975, 7976,
    7977, 7978, 7979, 7980, 7981, 7982, 7983, 7984, 7985, 7986, 7987,
    7988, 7989, 7990, 7991, 7992, 7993, 7994, 7995, 7996, 7997, 7998,
    7999, 8000, 8001, 8002, 8003, 8004, 8005, 8008, 8009, 8010, 8011,
    8012, 8013, 8016, 8017, 8018, 8019, 8020, 8021, 8022, 8023, 8025,
    8027, 8029, 8031, 8032, 8033, 8034, 8035, 8036, 8037, 8038, 8039,
    8040, 8041, 8042, 8043, 8044, 8045, 8046, 8047, 8048, 8049, 8050,
    8051, 8052, 8053, 8054, 8055, 8056, 8057, 8058, 8059, 8060, 8061,
    8064, 8065, 8066, 8067, 8068, 8069, 8070, 8071, 8072, 8073, 8074,
    8075, 8076, 8077, 8078, 8079, 8080, 8081, 8082, 8083, 8084, 8085,
    8086, 8087, 8088, 8089, 8090, 8091, 8092, 8093, 8094, 8095, 8096,
    8097, 8098, 8099, 8100, 8101, 8102, 8103, 8104, 8105, 8106, 8107,
    8108, 8109, 8110, 8111, 8112, 8113, 8114, 8115, 8116, 8118, 8119,
    8120, 8121, 8122, 8123, 8124, 8126, 8127, 8129, 8130, 8131, 8132,
    8134, 8135, 8136, 8137, 8138, 8139, 8140, 8141, 8142, 8143, 8144,
    8145, 8146, 8147, 8150, 8151, 8152, 8153, 8154, 8155, 8157, 8158,
    8159, 8160, 8161, 8162, 8163, 8164, 8165, 8166, 8167, 8168, 8169,
    8170, 8171, 8172, 8173, 8174, 8175, 8178, 8179, 8180, 8182, 8183,
    8184, 8185, 8186, 8187, 8188, 8189, 8190, 8192, 8193, 8194, 8195,
    8486, 8490, 8491, 8592, 8594, 8596, 8602, 8603, 8622, 8653, 8654,
    8655, 8656, 8658, 8660, 8707, 8708, 8712, 8713, 8715, 8716, 8739,
    8740, 8741, 8742, 8764, 8769, 8771, 8772, 8773, 8775, 8776, 8777,
    8781, 8800, 8801, 8802, 8804, 8805, 8813, 8814, 8815, 8816, 8817,
    8818, 8819, 8820, 8821, 8822, 8823, 8824, 8825, 8826, 8827, 8828,
    8829, 8832, 8833, 8834, 8835, 8836, 8837, 8838, 8839, 8840, 8841,
    8849, 8850, 8866, 8872, 8873, 8875, 8876, 8877, 8878, 8879, 8882,
    8883, 8884, 8885, 8928, 8929, 8930, 8931, 8938, 8939, 8940, 8941,
    9001, 9002, 10972, 10973, 12296, 12297, 12358, 12363, 12364, 12365,
    12366, 12367, 12368, 12369, 12370, 12371, 12372, 12373, 12374, 12375,
    12376, 12377, 12378, 12379, 12380, 12381, 12382, 12383, 12384, 12385,
    12386, 12388, 12389, 12390, 12391, 12392, 12393, 12399, 12400, 12401,
    12402, 12403, 12404, 12405, 12406, 12407, 12408, 12409, 12410, 12411,
    12412, 12413, 12436, 12441, 12442, 12445, 12446, 12454, 12459, 12460,
    12461, 12462, 12463, 12464, 12465, 12466, 12467, 12468, 12469, 12470,
    12471, 12472, 12473, 12474, 12475, 12476, 12477, 12478, 12479, 12480,
    12481, 12482, 12484, 12485, 12486, 12487, 12488, 12489, 12495, 12496,
    12497, 12498, 12499, 12500, 12501, 12502, 12503, 12504, 12505, 12506,
    12507, 12508, 12509, 12527, 12528, 12529, 12530, 12532, 12535, 12536,
    12537, 12538, 12541, 12542, 13470, 13497, 13499, 13535, 13589, 14062,
    14076, 14209, 14383, 14434, 14460, 14535, 14563, 14620, 14650, 14894,
    14956, 15076, 15112, 15129, 15177, 15261, 15384, 15438, 15667, 15766,
    16044, 16056, 16155, 16380, 16392, 16408, 16441, 16454, 16534, 16611,
    16687, 16898, 16935, 17056, 17153, 17204, 17241, 17365, 17369, 17419,
    17515, 17707, 17757, 17761, 17771, 17879, 17913, 17973, 18110, 18119,
    18837, 18918, 19054, 19062, 19122, 19251, 19406, 19662, 19693, 19704,
    19798, 19981, 20006, 20018, 20024, 20025, 20029, 20033, 20098, 20102,
    20142, 20160, 20172, 20196, 20320, 20352, 20358, 20363, 20398, 20411,
    20415, 20482, 20523, 20602, 20633, 20687, 20698, 20711, 20800, 20805,
    20813, 20820, 20836, 20839, 20840, 20841, 20845, 20855, 20864, 20877,
    20882, 20885, 20887, 20900, 20908, 20917, 20919, 20937, 20940, 20956,
    20958, 20981, 20995, 20999, 21015, 21033, 21050, 21051, 21062, 21106,
    21111, 21129, 21147, 21155, 21171, 21191, 21193, 21202, 21214, 21220,
    21237, 21242, 21253, 21254, 21271, 21311, 21321, 21329, 21338, 21363,
    21365, 21373, 21375, 21443, 21450, 21471, 21477, 21483, 21489, 21510,
    21519, 21533, 21560, 21570, 21576, 21608, 21662, 21666, 21693, 21750,
    21776, 21843, 21845, 21859, 21892, 21895, 21913, 21917, 21931, 21939,
    21952, 21954, 21986, 22022, 22097, 22120, 22132, 22265, 22294, 22295,
    22411, 22478, 22516, 22541, 22577, 22578, 22592, 22618, 22622, 22696,
    22700, 22707, 22744, 22751, 22766, 22770, 22775, 22790, 22810, 22818,
    22852, 22856, 22865, 22868, 22882, 22899, 23000, 23020, 23067, 23079,
    23138, 23142, 23221, 23304, 23336, 23358, 23429, 23491, 23512, 23527,
    23534, 23539, 23551, 23558, 23586, 23615, 23648, 23650, 23652, 23653,
    23662, 23693, 23744, 23833, 23875, 23888, 23915, 23918, 23932, 23986,
    23994, 24033, 24034, 24061, 24104, 24125, 24169, 24180, 24230, 24240,
    24243, 24246, 24265, 24266, 24274, 24275, 24281, 24300, 24318, 24324,
    24354, 24403, 24418, 24425, 24427, 24459, 24474, 24489, 24493, 24525,
    24535, 24565, 24569, 24594, 24604, 24693, 24705, 24724, 24775, 24792,
    24801, 24840, 24900, 24904, 24908, 24910, 24928, 24936, 24954, 24974,
    24976, 24996, 25007, 25010, 25054, 25074, 25078, 25088, 25104, 25115,
    25134, 25140, 25181, 25265, 25289, 25295, 25299, 25300, 25340, 25342,
    25405, 25424, 25448, 25467, 25475, 25504, 25513, 25540, 25541, 25572,
    25628, 25634, 25682, 25705, 25719, 25726, 25754, 25757, 25796, 25935,
    25942, 25964, 25976, 26009, 26053, 26082, 26083, 26131, 26185, 26228,
    26248, 26257, 26268, 26292, 26310, 26356, 26360, 26368, 26391, 26395,
    26401, 26446, 26451, 26454, 26462, 26491, 26501, 26519, 26611, 26618,
    26647, 26655, 26706, 26753, 26757, 26766, 26792, 26900, 26946, 27043,
    27114, 27138, 27155, 27304, 27347, 27355, 27396, 27425, 27476, 27506,
    27511, 27513, 27551, 27566, 27578, 27579, 27726, 27751, 27784, 27839,
    27852, 27853, 27877, 27926, 27931, 27934, 27956, 27966, 27969, 28009,
    28010, 28023, 28024, 28037, 28107, 28122, 28138, 28153, 28186, 28207,
    28270, 28316, 28346, 28359, 28363, 28369, 28379, 28431, 28450, 28451,
    28526, 28614, 28651, 28670, 28699, 28702, 28729, 28746, 28784, 28791,
    28797, 28825, 28845, 28872, 28889, 28997, 29001, 29038, 29084, 29134,
    29136, 29200, 29211, 29224, 29227, 29237, 29264, 29282, 29312, 29333,
    29359, 29376, 29436, 29482, 29557, 29562, 29575, 29579, 29605, 29618,
    29662, 29702, 29705, 29730, 29767, 29788, 29801, 29809, 29829, 29833,
    29848, 29898, 29958, 29988, 30011, 30014, 30041, 30053, 30064, 30178,
    30224, 30237, 30239, 30274, 30313, 30410, 30427, 30439, 30452, 30465,
    30494, 30495, 30528, 30538, 30603, 30631, 30798, 30827, 30860, 30865,
    30922, 30924, 30971, 31018, 31036, 31038, 31048, 31049, 31056, 31062,
    31069, 31070, 31077, 31103, 31117, 31118, 31119, 31150, 31178, 31211,
    31260, 31296, 31306, 31311, 31361, 31409, 31435, 31470, 31520, 31680,
    31686, 31689, 31806, 31840, 31867, 31890, 31934, 31954, 31958, 31971,
    31975, 31976, 32000, 32016, 32034, 32047, 32091, 32099, 32160, 32190,
    32199, 32244, 32258, 32265, 32311, 32321, 32325, 32574, 32626, 32633,
    32634, 32645, 32661, 32666, 32701, 32762, 32769, 32773, 32838, 32864,
    32879, 32880, 32894, 32907, 32941, 32946, 33027, 33086, 33240, 33256,
    33261, 33281, 33284, 33304, 33391, 33401, 33419, 33425, 33437, 33457,
    33459, 33469, 33509, 33510, 33565, 33571, 33590, 33618, 33619, 33635,
    33709, 33725, 33737, 33738, 33740, 33756, 33767, 33775, 33777, 33853,
    33865, 33879, 34030, 34033, 34035, 34044, 34070, 34148, 34253, 34298,
    34310, 34322, 34349, 34367, 34384, 34396, 34407, 34409, 34440, 34473,
    34530, 34574, 34600, 34667, 34681, 34694, 34746, 34785, 34817, 34847,
    34892, 34912, 34915, 35010, 35023, 35031, 35038, 35041, 35064, 35066,
    35088, 35137, 35172, 35206, 35211, 35222, 35488, 35498, 35519, 35531,
    35538, 35542, 35565, 35576, 35582, 35585, 35641, 35672, 35712, 35722,
    35912, 35925, 36011, 36033, 36034, 36040, 36051, 36104, 36123, 36215,
    36284, 36299, 36335, 36336, 36554, 36564, 36646, 36650, 36664, 36667,
    36706, 36766, 36784, 36790, 36899, 36920, 36978, 36988, 37007, 37012,
    37070, 37086, 37105, 37117, 37137, 37147, 37226, 37273, 37300, 37324,
    37327, 37329, 37428, 37432, 37494, 37500, 37591, 37592, 37636, 37706,
    37881, 37909, 38283, 38317, 38327, 38446, 38475, 38477, 38517, 38520,
    38524, 38534, 38563, 38583, 38584, 38595, 38626, 38627, 38646, 38647,
    38691, 38706, 38728, 38742, 38875, 38880, 38911, 38923, 38936, 38953,
    38971, 39006, 39138, 39151, 39164, 39208, 39209, 39335, 39362, 39409,
    39422, 39530, 39698, 39791, 40000, 40023, 40189, 40295, 40372, 40442,
    40478, 40575, 40599, 40607, 40635, 40654, 40697, 40702, 40709, 40719,
    40726, 40763, 40771, 40845, 40846, 40860, 63744, 63745, 63746, 63747,
    63748, 63749, 63750, 63751, 63752, 63753, 63754, 63755, 63756, 63757,
    63758, 63759, 63760, 63761, 63762, 63763, 63764, 63765, 63766, 63767,
    63768, 63769, 63770, 63771, 63772, 63773, 63774, 63775, 63776, 63777,
    63778, 63779, 63780, 63781, 63782, 63783, 63784, 63785, 63786, 63787,
    63788, 63789, 63790, 63791, 63792, 63793, 63794, 63795, 63796, 63797,
    63798, 63799, 63800, 63801, 63802, 63803, 63804, 63805, 63806, 63807,
    63808, 63809, 63810, 63811, 63812, 63813, 63814, 63815, 63816, 63817,
    63818, 63819, 63820, 63821, 63822, 63823, 63824, 63825, 63826, 63827,
    63828, 63829, 63830, 63831, 63832, 63833, 63834, 63835, 63836, 63837,
    63838, 63839, 63840, 63841, 63842, 63843, 63844, 63845, 63846, 63847,
    63848, 63849, 63850, 63851, 63852, 63853, 63854, 63855, 63856, 63857,
    63858, 63859, 63860, 63861, 63862, 63863, 63864, 63865, 63866, 63867,
    63868, 63869, 63870, 63871, 63872, 63873, 63874, 63875, 63876, 63877,
    63878, 63879, 63880, 63881, 63882, 63883, 63884, 63885, 63886, 63887,
    63888, 63889, 63890, 63891, 63892, 63893, 63894, 63895, 63896, 63897,
    63898, 63899, 63900, 63901, 63902, 63903, 63904, 63905, 63906, 63907,
    63908, 63909, 63910, 63911, 63912, 63913, 63914, 63915, 63916, 63917,
    63918, 63919, 63920, 63921, 63922, 63923, 63924, 63925, 63926, 63927,
    63928, 63929, 63930, 63931, 63932, 63933, 63934, 63935, 63936, 63937,
    63938, 63939, 63940, 63941, 63942, 63943, 63944, 63945, 63946, 63947,
    63948, 63949, 63950, 63951, 63952, 63953, 63954, 63955, 63956, 63957,
    63958, 63959, 63960, 63961, 63962, 63963, 63964, 63965, 63966, 63967,
    63968, 63969, 63970, 63971, 63972, 63973, 63974, 63975, 63976, 63977,
    63978, 63979, 63980, 63981, 63982, 63983, 63984, 63985, 63986, 63987,
    63988, 63989, 63990, 63991, 63992, 63993, 63994, 63995, 63996, 63997,
    63998, 63999, 64000, 64001, 64002, 64003, 64004, 64005, 64006, 64007,
    64008, 64009, 64010, 64011, 64012, 64013, 64016, 64018, 64021, 64022,
    64023, 64024, 64025, 64026, 64027, 64028, 64029, 64030, 64032, 64034,
    64037, 64038, 64042, 64043, 64044, 64045, 64046, 64047, 64048, 64049,
    64050, 64051, 64052, 64053, 64054, 64055, 64056, 64057, 64058, 64059,
    64060, 64061, 64062, 64063, 64064, 64065, 64066, 64067, 64068, 64069,
    64070, 64071, 64072, 64073, 64074, 64075, 64076, 64077, 64078, 64079,
    64080, 64081, 64082, 64083, 64084, 64085, 64086, 64087, 64088, 64089,
    64090, 64091, 64092, 64093, 64094, 64095, 64096, 64097, 64098, 64099,
    64100, 64101, 64102, 64103, 64104, 64105, 64106, 64107, 64108, 64109,
    64112, 64113, 64114, 64115, 64116, 64117, 64118, 64119, 64120, 64121,
    64122, 64123, 64124, 64125, 64126, 64127, 64128, 64129, 64130, 64131,
    64132, 64133, 64134, 64135, 64136, 64137, 64138, 64139, 64140, 64141,
    64142, 64143, 64144, 64145, 64146, 64147, 64148, 64149, 64150, 64151,
    64152, 64153, 64154, 64155, 64156, 64157, 64158, 64159, 64160, 64161,
    64162, 64163, 64164, 64165, 64166, 64167, 64168, 64169, 64170, 64171,
    64172, 64173, 64174, 64175, 64176, 64177, 64178, 64179, 64180, 64181,
    64182, 64183, 64184, 64185, 64186, 64187, 64188, 64189, 64190, 64191,
    64192, 64193, 64194, 64195, 64196, 64197, 64198, 64199, 64200, 64201,
    64202, 64203, 64204, 64205, 64206, 64207, 64208, 64209, 64210, 64211,
    64212, 64213, 64214, 64215, 64216, 64217, 64285, 64287, 64298, 64299,
    64300, 64301, 64302, 64303, 64304, 64305, 64306, 64307, 64308, 64309,
    64310, 64312, 64313, 64314, 64315, 64316, 64318, 64320, 64321, 64323,
    64324, 64326, 64327, 64328, 64329, 64330, 64331, 64332, 64333, 64334,
    69785, 69786, 69787, 69788, 69797, 69803, 69818, 69927, 69934, 69935,
    69937, 69938, 119127, 119128, 119134, 119135, 119136, 119137, 119138,
    119139, 119140, 119141, 119150, 119151, 119152, 119153, 119154,
    119225, 119226, 119227, 119228, 119229, 119230, 119231, 119232,
    131362, 132380, 132389, 132427, 132666, 133124, 133342, 133676,
    133987, 136420, 136872, 136938, 137672, 138008, 138507, 138724,
    138726, 139651, 139679, 140081, 141012, 141380, 141386, 142092,
    142321, 143370, 144056, 144223, 144275, 144284, 144323, 144341,
    144493, 145059, 145575, 146061, 146170, 146620, 146718, 147153,
    147294, 147342, 148067, 148206, 148395, 149000, 149301, 149524,
    150582, 150674, 151457, 151480, 151620, 151794, 151795, 151833,
    151859, 152137, 152605, 153126, 153242, 153285, 153980, 154279,
    154539, 154752, 154832, 155526, 156122, 156200, 156231, 156377,
    156478, 156890, 156963, 157096, 157607, 157621, 158524, 158774,
    158933, 159083, 159532, 159665, 159954, 160714, 161383, 161966,
    162150, 162984, 163539, 163631, 165330, 165357, 165678, 166906,
    167287, 168261, 168415, 168474, 168970, 169110, 169398, 170800,
    172238, 172293, 172558, 172689, 172946, 173568, 194560, 194561,
    194562, 194563, 194564, 194565, 194566, 194567, 194568, 194569,
    194570, 194571, 194572, 194573, 194574, 194575, 194576, 194577,
    194578, 194579, 194580, 194581, 194582, 194583, 194584, 194585,
    194586, 194587, 194588, 194589, 194590, 194591, 194592, 194593,
    194594, 194595, 194596, 194597, 194598, 194599, 194600, 194601,
    194602, 194603, 194604, 194605, 194606, 194607, 194608, 194609,
    194610, 194611, 194612, 194613, 194614, 194615, 194616, 194617,
    194618, 194619, 194620, 194621, 194622, 194623, 194624, 194625,
    194626, 194627, 194628, 194629, 194630, 194631, 194632, 194633,
    194634, 194635, 194636, 194637, 194638, 194639, 194640, 194641,
    194642, 194643, 194644, 194645, 194646, 194647, 194648, 194649,
    194650, 194651, 194652, 194653, 194654, 194655, 194656, 194657,
    194658, 194659, 194660, 194661, 194662, 194663, 194664, 194665,
    194666, 194667, 194668, 194669, 194670, 194671, 194672, 194673,
    194674, 194675, 194676, 194677, 194678, 194679, 194680, 194681,
    194682, 194683, 194684, 194685, 194686, 194687, 194688, 194689,
    194690, 194691, 194692, 194693, 194694, 194695, 194696, 194697,
    194698, 194699, 194700, 194701, 194702, 194703, 194704, 194705,
    194706, 194707, 194708, 194709, 194710, 194711, 194712, 194713,
    194714, 194715, 194716, 194717, 194718, 194719, 194720, 194721,
    194722, 194723, 194724, 194725, 194726, 194727, 194728, 194729,
    194730, 194731, 194732, 194733, 194734, 194735, 194736, 194737,
    194738, 194739, 194740, 194741, 194742, 194743, 194744, 194745,
    194746, 194747, 194748, 194749, 194750, 194751, 194752, 194753,
    194754, 194755, 194756, 194757, 194758, 194759, 194760, 194761,
    194762, 194763, 194764, 194765, 194766, 194767, 194768, 194769,
    194770, 194771, 194772, 194773, 194774, 194775, 194776, 194777,
    194778, 194779, 194780, 194781, 194782, 194783, 194784, 194785,
    194786, 194787, 194788, 194789, 194790, 194791, 194792, 194793,
    194794, 194795, 194796, 194797, 194798, 194799, 194800, 194801,
    194802, 194803, 194804, 194805, 194806, 194807, 194808, 194809,
    194810, 194811, 194812, 194813, 194814, 194815, 194816, 194817,
    194818, 194819, 194820, 194821, 194822, 194823, 194824, 194825,
    194826, 194827, 194828, 194829, 194830, 194831, 194832, 194833,
    194834, 194835, 194836, 194837, 194838, 194839, 194840, 194841,
    194842, 194843, 194844, 194845, 194846, 194847, 194848, 194849,
    194850, 194851, 194852, 194853, 194854, 194855, 194856, 194857,
    194858, 194859, 194860, 194861, 194862, 194863, 194864, 194865,
    194866, 194867, 194868, 194869, 194870, 194871, 194872, 194873,
    194874, 194875, 194876, 194877, 194878, 194879, 194880, 194881,
    194882, 194883, 194884, 194885, 194886, 194887, 194888, 194889,
    194890, 194891, 194892, 194893, 194894, 194895, 194896, 194897,
    194898, 194899, 194900, 194901, 194902, 194903, 194904, 194905,
    194906, 194907, 194908, 194909, 194910, 194911, 194912, 194913,
    194914, 194915, 194916, 194917, 194918, 194919, 194920, 194921,
    194922, 194923, 194924, 194925, 194926, 194927, 194928, 194929,
    194930, 194931, 194932, 194933, 194934, 194935, 194936, 194937,
    194938, 194939, 194940, 194941, 194942, 194943, 194944, 194945,
    194946, 194947, 194948, 194949, 194950, 194951, 194952, 194953,
    194954, 194955, 194956, 194957, 194958, 194959, 194960, 194961,
    194962, 194963, 194964, 194965, 194966, 194967, 194968, 194969,
    194970, 194971, 194972, 194973, 194974, 194975, 194976, 194977,
    194978, 194979, 194980, 194981, 194982, 194983, 194984, 194985,
    194986, 194987, 194988, 194989, 194990, 194991, 194992, 194993,
    194994, 194995, 194996, 194997, 194998, 194999, 195000, 195001,
    195002, 195003, 195004, 195005, 195006, 195007, 195008, 195009,
    195010, 195011, 195012, 195013, 195014, 195015, 195016, 195017,
    195018, 195019, 195020, 195021, 195022, 195023, 195024, 195025,
    195026, 195027, 195028, 195029, 195030, 195031, 195032, 195033,
    195034, 195035, 195036, 195037, 195038, 195039, 195040, 195041,
    195042, 195043, 195044, 195045, 195046, 195047, 195048, 195049,
    195050, 195051, 195052, 195053, 195054, 195055, 195056, 195057,
    195058, 195059, 195060, 195061, 195062, 195063, 195064, 195065,
    195066, 195067, 195068, 195069, 195070, 195071, 195072, 195073,
    195074, 195075, 195076, 195077, 195078, 195079, 195080, 195081,
    195082, 195083, 195084, 195085, 195086, 195087, 195088, 195089,
    195090, 195091, 195092, 195093, 195094, 195095, 195096, 195097,
    195098, 195099, 195100, 195101
};

static const uint16_t comp_seq[] = {
    33432, 663, 33114, 1208, 33114, 1202, 33114, 1209, 319, 59, 322, 62,
    330, 230, 331, 273, 325, 303, 341, 120, 332, 275, 327, 845, 324, 118,
    338, 688, 321, 61, 336, 843, 326, 63, 320, 60, 323, 116, 33096, 64,
    345, 694, 325, 690, 33104, 692, 330, 128, 320, 122, 340, 66, 325, 126,
    33089, 124, 330, 130, 340, 704, 325, 698, 342, 706, 345, 702, 33104,
    700, 336, 867, 341, 138, 332, 279, 342, 712, 330, 140, 326, 70, 321,
    69, 324, 134, 322, 871, 344, 714, 323, 132, 331, 277, 325, 136, 319,
    67, 340, 305, 320, 68, 33095, 869, 34077, 1308, 321, 142, 330, 252,
    324, 144, 320, 263, 340, 148, 323, 720, 33093, 146, 336, 724, 330,
    301, 326, 726, 340, 728, 321, 150, 325, 722, 33111, 730, 330, 232,
    323, 154, 332, 283, 320, 72, 327, 883, 336, 885, 319, 71, 322, 152,
    331, 281, 324, 156, 321, 73, 325, 160, 326, 74, 344, 732, 33109, 158,
    33089, 161, 336, 738, 320, 736, 345, 740, 330, 254, 33108, 163, 336,
    742, 340, 167, 345, 746, 342, 748, 330, 169, 33088, 165, 34077, 1266,
    320, 171, 330, 175, 319, 265, 325, 756, 340, 173, 336, 758, 322, 75,
    342, 762, 33113, 760, 335, 225, 325, 311, 327, 889, 331, 285, 326, 80,
    323, 177, 321, 78, 341, 256, 319, 76, 320, 77, 330, 234, 336, 887,
    322, 79, 332, 287, 324, 179, 33097, 181, 320, 772, 33093, 774, 34077,
    1270, 345, 782, 325, 776, 330, 187, 340, 185, 331, 289, 336, 778, 320,
    183, 33100, 291, 325, 784, 321, 191, 330, 195, 320, 189, 340, 193,
    339, 297, 33104, 786, 342, 800, 330, 199, 325, 794, 339, 299, 345,
    798, 340, 197, 33104, 796, 323, 203, 320, 83, 337, 802, 344, 804, 329,
    209, 330, 236, 322, 201, 331, 293, 321, 84, 328, 207, 332, 295, 341,
    211, 326, 85, 335, 227, 324, 205, 319, 82, 336, 911, 327, 913, 33110,
    806, 336, 814, 33090, 812, 319, 816, 325, 822, 321, 213, 336, 824,
    326, 820, 33088, 818, 326, 828, 33093, 826, 325, 830, 326, 217, 327,
    929, 336, 927, 319, 925, 321, 215, 323, 315, 320, 86, 33090, 931, 320,
    218, 325, 220, 345, 836, 336, 834, 330, 222, 33089, 832, 34077, 1280,
    34077, 1282, 34077, 1284, 327, 846, 330, 231, 323, 117, 336, 844, 325,
    304, 331, 274, 324, 119, 319, 87, 332, 276, 321, 89, 338, 689, 326,
    91, 341, 121, 320, 88, 322, 90, 33096, 92, 336, 693, 345, 695, 33093,
    691, 325, 127, 340, 94, 321, 125, 320, 123, 33098, 129, 336, 701, 342,
    707, 340, 705, 325, 699, 345, 703, 33098, 131, 336, 868, 323, 133,
    330, 141, 332, 280, 342, 713, 326, 98, 324, 135, 321, 97, 319, 95,
    344, 715, 327, 870, 320, 96, 322, 872, 331, 278, 325, 137, 340, 306,
    33109, 139, 34077, 1290, 321, 143, 325, 147, 330, 253, 324, 145, 340,
    149, 323, 721, 33088, 264, 325, 723, 330, 302, 345, 838, 326, 727,
    321, 151, 340, 729, 336, 725, 33111, 731, 331, 282, 320, 100, 332,
    284, 327, 884, 336, 886, 322, 153, 326, 102, 324, 157, 330, 233, 341,
    159, 319, 99, 344, 733, 323, 155, 33089, 101, 330, 262, 33089, 162,
    345, 741, 330, 255, 320, 737, 340, 164, 33104, 739, 336, 743, 330,
    170, 340, 168, 345, 747, 342, 749, 33088, 166, 336, 755, 325, 753,
    33088, 751, 345, 761, 319, 266, 340, 174, 320, 172, 325, 757, 336,
    759, 342, 763, 330, 176, 33090, 103, 330, 235, 321, 106, 336, 888,
    326, 108, 341, 257, 327, 890, 325, 312, 319, 104, 322, 107, 323, 178,
    331, 286, 320, 105, 329, 182, 324, 180, 332, 288, 33103, 226, 325,
    775, 33088, 773, 1310, 1298, 34077, 1297, 330, 196, 336, 787, 325,
    785, 320, 190, 339, 298, 340, 194, 33089, 192, 326, 839, 336, 797,
    330, 200, 342, 801, 339, 300, 325, 795, 345, 799, 33108, 198, 335,
    228, 329, 210, 320, 111, 337, 803, 319, 110, 331, 294, 326, 113, 342,
    807, 341, 212, 322, 202, 344, 805, 324, 206, 332, 296, 330, 237, 327,
    914, 321, 112, 323, 204, 336, 912, 33096, 208, 322, 813, 33104, 815,
    320, 819, 321, 214, 325, 823, 328, 840, 336, 825, 326, 821, 33087,
    817, 1310, 1304, 34077, 1303, 325, 831, 323, 316, 319, 926, 326, 115,
    336, 928, 321, 216, 328, 841, 320, 114, 327, 930, 33090, 932, 345,
    837, 336, 835, 325, 221, 321, 833, 330, 223, 33088, 219, 1309, 1306,
    34078, 1307, 35430, 2657, 35430, 2659, 34077, 1312, 35430, 2661,
    34077, 1363, 319, 1149, 349, 1109, 33088, 355, 34077, 1315, 34077,
    1317, 34077, 1319, 34077, 1321, 34077, 1323, 34077, 1325, 34077, 1327,
    34077, 1329, 34077, 1331, 34077, 1333, 34077, 1335, 34077, 1337, 327,
    851, 322, 853, 320, 847, 33087, 849, 33091, 246, 33088, 267, 34077,
    1341, 33088, 696, 34077, 1343, 322, 879, 319, 875, 320, 873, 33095,
    877, 1310, 1346, 34077, 1345, 1310, 1349, 34077, 1348, 327, 895, 322,
    897, 319, 893, 33088, 891, 1309, 1351, 34078, 1352, 33091, 307, 1310,
    1355, 34077, 1354, 1309, 1357, 34078, 1358, 319, 244, 330, 242, 320,
    240, 33091, 238, 327, 852, 319, 850, 322, 854, 33088, 848, 33091, 247,
    33088, 268, 323, 251, 33088, 270, 33088, 697, 320, 874, 327, 878, 322,
    880, 33087, 876, 33088, 735, 34077, 1365, 34077, 1366, 34077, 1367,
    319, 894, 320, 892, 322, 898, 33095, 896, 320, 765, 326, 767, 33091,
    310, 33091, 308, 33088, 272, 320, 241, 323, 239, 319, 245, 33098, 243,
    34077, 1369, 320, 857, 319, 859, 322, 863, 33095, 861, 320, 858, 327,
    862, 322, 864, 33087, 860, 319, 708, 33088, 710, 320, 711, 33087, 709,
    33310, 535, 33310, 539, 35431, 2664, 35431, 2665, 33310, 541, 319,
    768, 33088, 770, 320, 771, 33087, 769, 33093, 788, 33093, 789, 33093,
    790, 33093, 791, 33088, 808, 33088, 809, 33094, 810, 33094, 811,
    33093, 842, 33114, 1174, 33114, 1175, 33114, 1176, 322, 907, 336, 909,
    327, 905, 319, 903, 33088, 901, 319, 904, 336, 910, 327, 906, 320,
    902, 33090, 908, 33093, 718, 320, 915, 319, 917, 327, 919, 322, 921,
    33104, 923, 319, 918, 336, 924, 320, 916, 327, 920, 33090, 922, 33098,
    260, 34077, 1264, 559, 558, 33323, 557, 336, 754, 325, 752, 33088,
    750, 33114, 1177, 33114, 1179, 33114, 1178, 34077, 1268, 33091, 258,
    33091, 259, 34077, 1272, 34077, 1274, 33114, 1184, 33114, 1186, 34077,
    1276, 34077, 1278, 33114, 1190, 33114, 1192, 33091, 248, 33091, 249,
    33092, 716, 33092, 717, 33091, 313, 33091, 314, 33114, 1194, 33114,
    1196, 33114, 1198, 34077, 1286, 33114, 1200, 33114, 1207, 34077, 1288,
    33114, 1204, 33114, 1210, 33114, 1211, 34077, 1292, 33114, 1214,
    33114, 1215, 33114, 1218, 33114, 1219, 33114, 1224, 33114, 1225,
    33114, 1248, 33114, 1249, 33114, 1228, 33114, 1229, 33114, 1232,
    33114, 1233, 33114, 1250, 33098, 261, 1310, 1295, 34077, 1294, 33114,
    1240, 33114, 1241, 33114, 1242, 33114, 1243, 332, 292, 330, 188, 345,
    783, 340, 186, 325, 777, 336, 779, 331, 290, 33088, 184, 33114, 1252,
    33114, 1253, 33114, 1254, 33114, 1255, 1309, 1300, 34078, 1301, 326,
    829, 33093, 827, 33445, 666, 33445, 668, 33445, 670, 33445, 672,
    33445, 674, 33445, 676, 33445, 679, 33445, 681, 33445, 684, 33445,
    685, 33445, 687, 585, 583, 584, 581, 33347, 582, 319, 1104, 323, 1103,
    324, 1102, 334, 942, 352, 1106, 320, 356, 33101, 941, 33364, 589, 320,
    358, 319, 1115, 334, 956, 33101, 955, 352, 1119, 334, 970, 320, 359,
    319, 1117, 33101, 969, 319, 1131, 326, 373, 333, 985, 323, 1130, 324,
    1129, 320, 360, 33102, 986, 319, 1157, 334, 1000, 320, 361, 33101,
    999, 33102, 1148, 324, 1144, 326, 374, 320, 362, 319, 1146, 334, 1013,
    33091, 1145, 352, 1161, 334, 1026, 319, 1159, 320, 363, 33101, 1025,
    33120, 1099, 33120, 1112, 320, 375, 334, 934, 323, 1096, 352, 1098,
    349, 1100, 333, 933, 324, 1095, 33087, 1033, 320, 376, 334, 950, 319,
    1035, 33101, 949, 319, 1037, 334, 962, 320, 377, 333, 961, 352, 1111,
    33117, 1113, 333, 977, 323, 1124, 326, 388, 320, 378, 349, 1127, 334,
    978, 324, 1123, 33087, 1039, 319, 1041, 334, 994, 320, 390, 33101,
    993, 333, 1140, 33102, 1141, 319, 1043, 333, 1005, 320, 391, 326, 389,
    324, 1136, 334, 1006, 323, 1137, 33117, 1142, 590, 593, 33364, 595,
    33358, 594, 320, 392, 352, 1153, 349, 1155, 333, 1017, 319, 1045,
    33102, 1018, 320, 364, 319, 1125, 33117, 1128, 320, 379, 319, 1138,
    33117, 1143, 33120, 1154, 326, 395, 33088, 394, 33093, 719, 33094,
    400, 324, 444, 33094, 446, 33088, 398, 319, 396, 324, 448, 33094, 397,
    326, 454, 33092, 442, 33094, 456, 324, 410, 319, 402, 326, 460, 33091,
    458, 33088, 401, 33094, 462, 326, 472, 323, 470, 324, 403, 33097, 474,
    33094, 476, 33094, 478, 33094, 468, 324, 445, 33094, 447, 33088, 432,
    319, 430, 324, 449, 33094, 431, 326, 455, 33092, 443, 33094, 457, 324,
    423, 326, 461, 323, 459, 33087, 436, 33088, 435, 33094, 463, 323, 471,
    329, 475, 324, 437, 33094, 473, 33367, 598, 33094, 477, 33094, 479,
    33094, 469, 33094, 434, 33099, 440, 33099, 441, 33120, 1092, 34077,
    1339, 320, 269, 33091, 250, 33376, 601, 609, 605, 602, 606, 33376,
    604, 33376, 607, 33094, 452, 33094, 453, 33088, 734, 33094, 466,
    33094, 467, 323, 309, 320, 764, 33094, 766, 33088, 271, 610, 613,
    33384, 615, 33378, 614, 34077, 1364, 624, 623, 617, 620, 33386, 621,
    33385, 622, 521, 514, 520, 512, 33287, 511, 33091, 744, 33091, 745,
    33288, 513, 33288, 515, 33091, 780, 33091, 781, 33114, 1188, 33093,
    792, 33093, 793, 324, 865, 33089, 855, 324, 866, 33089, 856, 33089,
    881, 33089, 882, 33288, 524, 33089, 899, 33089, 900, 33288, 526,
    33288, 522, 320, 937, 319, 935, 352, 1047, 33117, 939, 320, 938, 319,
    936, 352, 1048, 33117, 940, 33120, 1049, 33120, 1050, 33120, 1051,
    33120, 1052, 33120, 1053, 33120, 1054, 349, 947, 319, 943, 320, 945,
    33120, 1055, 320, 946, 319, 944, 352, 1056, 33117, 948, 33120, 1057,
    33120, 1058, 33120, 1059, 33120, 1060, 33120, 1061, 33120, 1062, 320,
    953, 33087, 951, 319, 952, 33088, 954, 320, 959, 33087, 957, 319, 958,
    33088, 960, 319, 963, 320, 965, 349, 967, 33120, 1063, 352, 1064, 319,
    964, 320, 966, 33117, 968, 33120, 1065, 33120, 1066, 33120, 1067,
    33120, 1068, 33120, 1069, 33120, 1070, 352, 1071, 320, 973, 319, 971,
    33117, 975, 320, 974, 319, 972, 352, 1072, 33117, 976, 33120, 1073,
    33120, 1074, 33120, 1075, 33120, 1076, 33120, 1077, 33120, 1078, 319,
    979, 320, 981, 33117, 983, 320, 982, 319, 980, 33117, 984, 319, 987,
    320, 989, 33117, 991, 320, 990, 319, 988, 33117, 992, 320, 997, 33087,
    995, 319, 996, 33088, 998, 320, 1003, 33087, 1001, 319, 1002, 33088,
    1004, 319, 1007, 320, 1009, 33117, 1011, 320, 1010, 319, 1008, 33117,
    1012, 320, 1015, 319, 1014, 33117, 1016, 349, 1023, 319, 1019, 352,
    1079, 33088, 1021, 320, 1022, 319, 1020, 352, 1080, 33117, 1024,
    33120, 1081, 33120, 1082, 33120, 1083, 33120, 1084, 33120, 1085,
    33120, 1086, 352, 1087, 320, 1029, 319, 1027, 33117, 1031, 352, 1088,
    319, 1028, 320, 1030, 33117, 1032, 33120, 1089, 33120, 1090, 33120,
    1091, 33114, 1251, 33120, 1093, 33120, 1094, 33120, 1097, 33120, 1110,
    33120, 1152, 33120, 1101, 320, 1121, 319, 1120, 33117, 1122, 33120,
    1114, 33120, 1156, 319, 1133, 320, 1134, 33117, 1135
};

static const uint16_t decomp_seq[] = {
    0, 1166, 1167, 2783, 2784, 1989, 2075, 2064, 5, 319, 5, 320, 5, 321,
    5, 322, 5, 326, 5, 328, 7, 340, 9, 319, 9, 320, 9, 321, 9, 326, 13,
    319, 13, 320, 13, 321, 13, 326, 18, 322, 19, 319, 19, 320, 19, 321,
    19, 322, 19, 326, 24, 319, 24, 320, 24, 321, 24, 326, 28, 320, 31,
    319, 31, 320, 31, 321, 31, 322, 31, 326, 31, 328, 33, 340, 35, 319,
    35, 320, 35, 321, 35, 326, 39, 319, 39, 320, 39, 321, 39, 326, 44,
    322, 45, 319, 45, 320, 45, 321, 45, 322, 45, 326, 50, 319, 50, 320,
    50, 321, 50, 326, 54, 320, 54, 326, 5, 323, 31, 323, 5, 324, 31, 324,
    5, 341, 31, 341, 7, 320, 33, 320, 7, 321, 33, 321, 7, 325, 33, 325, 7,
    330, 33, 330, 8, 330, 34, 330, 9, 323, 35, 323, 9, 324, 35, 324, 9,
    325, 35, 325, 9, 341, 35, 341, 9, 330, 35, 330, 11, 321, 37, 321, 11,
    324, 37, 324, 11, 325, 37, 325, 11, 340, 37, 340, 12, 321, 38, 321,
    372, 13, 322, 39, 322, 13, 323, 39, 323, 13, 324, 39, 324, 13, 341,
    39, 341, 13, 325, 14, 321, 40, 321, 15, 340, 41, 340, 16, 320, 42,
    320, 16, 340, 42, 340, 16, 330, 42, 330, 18, 320, 44, 320, 18, 340,
    44, 340, 18, 330, 44, 330, 19, 323, 45, 323, 19, 324, 45, 324, 19,
    329, 45, 329, 21, 320, 47, 320, 21, 340, 47, 340, 21, 330, 47, 330,
    22, 320, 48, 320, 22, 321, 48, 321, 22, 340, 48, 340, 22, 330, 48,
    330, 23, 340, 49, 340, 23, 330, 49, 330, 24, 322, 50, 322, 24, 323,
    50, 323, 24, 324, 50, 324, 24, 328, 50, 328, 24, 329, 50, 329, 24,
    341, 50, 341, 26, 321, 52, 321, 28, 321, 54, 321, 28, 326, 29, 320,
    55, 320, 29, 325, 55, 325, 29, 330, 55, 330, 1171, 346, 1172, 346, 19,
    335, 45, 335, 1173, 346, 24, 335, 50, 335, 2000, 5, 330, 31, 330, 13,
    330, 39, 330, 19, 330, 45, 330, 24, 330, 50, 330, 24, 326, 323, 50,
    326, 323, 24, 326, 320, 50, 326, 320, 24, 326, 330, 50, 326, 330, 24,
    326, 319, 50, 326, 319, 5, 326, 323, 31, 326, 323, 5, 325, 323, 31,
    325, 323, 65, 323, 93, 323, 11, 330, 37, 330, 15, 330, 41, 330, 19,
    341, 45, 341, 19, 341, 323, 45, 341, 323, 229, 330, 317, 330, 40, 330,
    11, 320, 37, 320, 18, 319, 44, 319, 5, 328, 320, 31, 328, 320, 65,
    320, 93, 320, 81, 320, 109, 320, 5, 331, 31, 331, 5, 332, 31, 332, 9,
    331, 35, 331, 9, 332, 35, 332, 13, 331, 39, 331, 13, 332, 39, 332, 19,
    331, 45, 331, 19, 332, 45, 332, 21, 331, 47, 331, 21, 332, 47, 332,
    24, 331, 50, 331, 24, 332, 50, 332, 22, 339, 48, 339, 23, 339, 49,
    339, 12, 330, 38, 330, 1189, 346, 1191, 346, 9, 340, 35, 340, 19, 326,
    323, 45, 326, 323, 19, 322, 323, 45, 322, 323, 19, 325, 45, 325, 19,
    325, 323, 45, 325, 323, 28, 323, 54, 323, 1193, 346, 1195, 346, 1197,
    346, 1199, 346, 3, 346, 1203, 346, 1201, 346, 2, 346, 4, 346, 1205,
    346, 1206, 346, 1212, 346, 1213, 346, 1216, 346, 1217, 346, 1220, 346,
    1221, 346, 1226, 346, 1227, 346, 1230, 346, 1231, 346, 1993, 1236,
    346, 1237, 346, 1238, 346, 1239, 346, 2790, 1222, 346, 1223, 346,
    1234, 346, 1235, 346, 1244, 346, 1245, 346, 1246, 346, 1247, 346,
    1260, 1261, 333, 498, 484, 318, 1, 501, 484, 56, 320, 365, 320, 58,
    366, 320, 367, 320, 368, 320, 369, 320, 371, 320, 372, 320, 383, 326,
    320, 503, 484, 368, 326, 371, 326, 380, 320, 381, 320, 382, 320, 383,
    320, 386, 326, 320, 384, 320, 386, 320, 387, 320, 1418, 393, 320, 393,
    326, 406, 319, 406, 326, 405, 320, 399, 326, 411, 320, 409, 319, 413,
    324, 409, 324, 1982, 422, 324, 419, 319, 419, 326, 418, 320, 433, 326,
    424, 320, 422, 319, 426, 324, 1419, 438, 331, 439, 331, 1990, 407,
    324, 420, 324, 404, 324, 417, 324, 404, 326, 417, 326, 406, 324, 419,
    324, 450, 326, 451, 326, 407, 326, 420, 326, 408, 326, 421, 326, 409,
    323, 422, 323, 409, 326, 422, 326, 412, 326, 425, 326, 464, 326, 465,
    326, 416, 326, 429, 326, 413, 323, 426, 323, 413, 326, 426, 326, 413,
    329, 426, 329, 414, 326, 427, 326, 415, 326, 428, 326, 1977, 516, 519,
    516, 520, 517, 520, 516, 521, 518, 520, 1420, 527, 520, 523, 520, 525,
    520, 1992, 534, 542, 538, 542, 540, 542, 528, 542, 529, 542, 530, 542,
    531, 542, 532, 542, 533, 542, 536, 542, 537, 542, 556, 555, 556, 559,
    551, 554, 552, 554, 553, 554, 567, 571, 570, 571, 2776, 563, 571, 564,
    571, 565, 571, 566, 571, 1180, 346, 1182, 346, 1181, 346, 1259, 346,
    580, 584, 580, 579, 580, 585, 576, 578, 577, 578, 588, 596, 591, 590,
    592, 590, 591, 596, 1183, 346, 1185, 346, 597, 599, 1187, 346, 600,
    608, 603, 608, 603, 609, 603, 602, 603, 602, 608, 611, 610, 612, 610,
    611, 616, 619, 617, 619, 618, 619, 618, 617, 619, 624, 626, 660, 628,
    660, 630, 660, 632, 660, 634, 660, 625, 659, 637, 638, 637, 640, 657,
    644, 658, 644, 637, 644, 647, 660, 649, 660, 651, 660, 653, 660, 655,
    660, 646, 659, 1892, 1895, 1406, 662, 664, 1897, 1263, 1309, 1265,
    1309, 1267, 1309, 1269, 1309, 1271, 1309, 1273, 1309, 1275, 1309,
    1277, 1309, 1279, 1309, 1281, 1309, 1283, 1309, 1285, 1309, 1287,
    1309, 1289, 1309, 1291, 1309, 1293, 1309, 1293, 1310, 1296, 1309,
    1296, 1310, 1299, 1309, 1299, 1310, 1302, 1309, 1302, 1310, 1305,
    1309, 1305, 1310, 1262, 1309, 2753, 2656, 2662, 2658, 2662, 1311,
    1309, 2660, 2662, 1314, 1309, 1316, 1309, 1318, 1309, 1320, 1309,
    1322, 1309, 1324, 1309, 1326, 1309, 1328, 1309, 1330, 1309, 1332,
    1309, 1334, 1309, 1336, 1309, 1338, 1309, 1340, 1309, 1342, 1309,
    1344, 1309, 1344, 1310, 1347, 1309, 1347, 1310, 1350, 1309, 1350,
    1310, 1353, 1309, 1353, 1310, 1356, 1309, 1356, 1310, 1903, 1313,
    1309, 1359, 1309, 1360, 1309, 1361, 1309, 1362, 1309, 1368, 1309,
    1407, 2666, 2663, 2667, 2663, 1906, 2668, 2677, 2669, 2677, 2669,
    2677, 2678, 2669, 2677, 2679, 2669, 2677, 2680, 2669, 2677, 2681,
    2669, 2677, 2682, 1907, 1408, 2756, 2683, 2677, 2684, 2677, 2683,
    2677, 2678, 2684, 2677, 2678, 2683, 2677, 2679, 2684, 2677, 2679,
    1913, 1409, 1917, 1915, 1918, 2758, 1923, 1898, 1410, 1926, 1928,
    1932, 1411, 1899, 2760, 2761, 1412, 2762, 1936, 2763, 1938, 1941,
    1943, 2764, 2754, 2765, 1945, 2766, 1947, 2718, 1413, 1951, 1952,
    1415, 1953, 1588, 2767, 2768, 2719, 2720, 1773, 1777, 1774, 1775,
    1778, 2794, 1957, 1779, 2729, 1772, 1785, 1786, 1958, 1394, 1790,
    1789, 2730, 1783, 2067, 1796, 2731, 2732, 1797, 1802, 1416, 1801,
    1800, 1395, 1803, 1806, 1963, 1805, 1808, 2693, 1811, 2755, 2733,
    1962, 1814, 2735, 1819, 1821, 1822, 1964, 2736, 1824, 1825, 2737,
    2738, 1500, 1831, 1833, 1396, 1834, 1397, 1965, 1840, 1841, 1843,
    1844, 1966, 1847, 1398, 1849, 2739, 1851, 1967, 2740, 1854, 2709,
    1856, 2741, 1969, 2742, 2743, 1399, 1971, 1400, 1864, 2769, 2745,
    2744, 2746, 2747, 1866, 1968, 1867, 1869, 1402, 1870, 1970, 1403,
    1404, 2749, 1872, 1874, 1975, 1877, 1405, 2750, 1885, 2751, 1976,
    2752, 1442, 1440, 1443, 2691, 1450, 1454, 1455, 1457, 1459, 1460,
    1463, 1461, 1370, 2695, 1466, 1467, 1468, 1473, 2692, 1371, 1469,
    1475, 2694, 1478, 1479, 1448, 1480, 1481, 2789, 1487, 1488, 1373,
    1493, 1494, 1495, 1496, 1374, 1501, 1502, 1505, 1507, 1508, 1509,
    1510, 1512, 1513, 1514, 1515, 1517, 1518, 2698, 1804, 1520, 1521,
    2699, 1523, 1524, 1525, 1532, 1528, 1530, 1531, 1533, 1535, 1536,
    1537, 1539, 1540, 1542, 1544, 1545, 1547, 1554, 1549, 1555, 1550,
    1552, 1489, 1570, 1557, 1558, 1559, 1556, 1561, 1560, 1566, 2700,
    1571, 1572, 1573, 1574, 1575, 1580, 2701, 2702, 1583, 1584, 1585,
    1582, 1587, 1375, 1376, 1589, 1591, 2703, 1593, 1594, 1595, 1597,
    2704, 1598, 1599, 1637, 1600, 1377, 1602, 1606, 1608, 1607, 2706,
    1610, 2707, 1613, 1612, 1614, 1617, 1618, 1378, 1619, 1620, 1621,
    1622, 1379, 2708, 1380, 1625, 1626, 1627, 1629, 2799, 1634, 2710,
    1636, 1381, 2717, 2759, 1638, 1640, 1382, 1642, 1645, 1646, 1648,
    1652, 1384, 1383, 1653, 2711, 1654, 1659, 1660, 1661, 1664, 1665,
    1669, 1667, 1668, 1670, 1671, 1672, 1674, 1675, 1678, 1679, 1683,
    1687, 2714, 1686, 1684, 1688, 1690, 1695, 2715, 1697, 1694, 1692,
    1385, 1699, 1701, 1703, 1700, 1386, 1705, 1707, 2716, 1712, 1722,
    1714, 1389, 1717, 1388, 1387, 1476, 1477, 1723, 1718, 1950, 1414,
    1724, 1725, 1726, 1730, 1728, 2721, 1390, 1735, 1732, 1738, 1740,
    2723, 1741, 1737, 1743, 1391, 1744, 1745, 1746, 1749, 2724, 1751,
    1392, 1753, 2725, 1754, 1393, 1755, 1758, 1760, 1761, 2726, 2705,
    2727, 1762, 2728, 1765, 1767, 1763, 1769, 2046, 1721, 2060, 2051,
    1791, 1439, 1522, 2161, 1578, 2087, 1541, 1577, 1860, 1937, 1999,
    2012, 2024, 2074, 1747, 1770, 1810, 1836, 1985, 2082, 2135, 1444,
    1516, 1752, 1818, 1998, 2146, 1611, 1798, 1994, 2028, 1680, 1954,
    2015, 1776, 1828, 2076, 1452, 1482, 1504, 1704, 1750, 1817, 1863,
    1942, 1996, 2001, 2058, 2117, 2139, 2145, 1889, 1924, 1978, 2094,
    2147, 2037, 1569, 1635, 1909, 1948, 1823, 1876, 2050, 2115, 1568,
    1603, 1748, 1781, 1793, 1921, 1930, 2102, 1503, 1949, 1485, 1484,
    1896, 1925, 1984, 2104, 2044, 1681, 2040, 1441, 1649, 1832, 1878,
    1456, 1643, 1437, 1766, 1708, 1920, 1519, 1564, 1865, 1986, 2033,
    2068, 1764, 1685, 1691, 1853, 1446, 1471, 1483, 1739, 1916, 1960,
    2036, 2086, 1506, 1529, 1581, 1633, 1710, 1799, 1879, 2099, 2137,
    2148, 2151, 1498, 1720, 1756, 2066, 1623, 1666, 1673, 1702, 1795,
    1812, 1845, 1894, 1927, 1946, 2062, 1988, 2070, 2095, 1490, 1499,
    1534, 1809, 2019, 1628, 1647, 1689, 1759, 1908, 1830, 1449, 1553,
    1616, 1650, 1835, 1842, 1939, 1944, 2088, 2114, 2118, 2124, 1453,
    1893, 2084, 2110, 1656, 1445, 1462, 1596, 1601, 1709, 1815, 1859,
    1991, 2073, 2159, 1716, 2101, 1497, 1731, 1734, 1787, 1838, 1852,
    1873, 1919, 2127, 1472, 1676, 2105, 1458, 1609, 1782, 2063, 1641,
    1658, 1736, 2107, 1491, 1526, 1605, 1713, 1727, 1742, 1768, 1837,
    1855, 1935, 2020, 2023, 2085, 2112, 1511, 1788, 1527, 1816, 1846,
    1995, 2108, 2141, 2149, 1733, 1780, 1955, 1902, 1904, 1911, 1827,
    1807, 2043, 1447, 1972, 1492, 1624, 1682, 1914, 1592, 1771, 1719,
    2065, 2016, 2103, 2030, 1631, 1464, 1546, 1434, 2773, 1563, 1435,
    1715, 2797, 2798, 1486, 1829, 1861, 1880, 1887, 1888, 2119, 1912,
    1940, 1997, 2774, 2039, 2071, 2079, 2775, 2129, 2130, 2131, 2144,
    2077, 2109, 1543, 1551, 1562, 1565, 1604, 1663, 1711, 1784, 1794,
    1813, 1820, 1839, 1875, 1881, 1883, 1882, 1884, 1886, 1890, 1891,
    1900, 1905, 1929, 1931, 1934, 1956, 1961, 1987, 2026, 2031, 2041,
    2042, 2052, 2053, 2069, 2113, 2122, 2126, 1651, 2734, 1959, 2009,
    1438, 1470, 1451, 1465, 1474, 1538, 1548, 1567, 1576, 1579, 1586,
    1590, 1630, 1632, 1639, 1644, 1655, 1657, 1662, 1677, 1693, 1696,
    1698, 1706, 1729, 1757, 1792, 1871, 1826, 1848, 1850, 1857, 1858,
    1862, 1868, 1901, 1910, 1922, 1933, 1973, 1983, 2010, 2027, 2029,
    2034, 2035, 2038, 2045, 2072, 2083, 2090, 2106, 2120, 2123, 2138,
    2713, 2712, 2722, 1401, 2748, 2757, 2781, 2158, 2160, 2032, 2047,
    2780, 2048, 2049, 2054, 665, 677, 667, 677, 2002, 669, 677, 2055, 671,
    677, 673, 677, 2782, 675, 677, 2696, 496, 480, 510, 481, 2056, 2003,
    2059, 508, 486, 508, 487, 508, 484, 486, 508, 484, 487, 488, 481, 488,
    482, 488, 484, 489, 484, 490, 484, 491, 484, 492, 484, 493, 484, 494,
    484, 495, 484, 496, 484, 497, 484, 678, 677, 499, 484, 680, 677, 500,
    484, 682, 677, 683, 677, 686, 677, 504, 484, 2005, 505, 484, 506, 484,
    507, 484, 509, 484, 493, 483, 489, 485, 498, 485, 504, 485, 2078,
    2080, 2785, 2004, 2081, 2089, 2092, 2093, 2091, 2007, 2096, 2097,
    2786, 2098, 1426, 1974, 2006, 2100, 2787, 1427, 2771, 2111, 1615,
    2116, 2788, 2772, 1428, 1429, 2008, 2121, 2791, 1430, 2792, 2125,
    2793, 2128, 1431, 2011, 2132, 2133, 2134, 2136, 1432, 1979, 1421,
    2061, 2140, 2142, 1433, 2013, 2143, 2795, 2796, 2014, 2150, 1436,
    2152, 1422, 2153, 2154, 2155, 2156, 2157, 2017, 2800, 1980, 2018,
    2777, 2697, 2021, 2022, 1423, 1981, 2025, 1372, 2778, 2057, 2779,
    1424, 2770, 1425, 5, 338, 31, 338, 6, 325, 32, 325, 6, 336, 32, 336,
    6, 345, 32, 345, 7, 340, 320, 33, 340, 320, 8, 325, 34, 325, 8, 336,
    34, 336, 8, 345, 34, 345, 8, 340, 34, 340, 8, 342, 34, 342, 9, 323,
    319, 35, 323, 319, 9, 323, 320, 35, 323, 320, 9, 342, 35, 342, 9, 344,
    35, 344, 9, 340, 324, 35, 340, 324, 10, 325, 36, 325, 11, 323, 37,
    323, 12, 325, 38, 325, 12, 336, 38, 336, 12, 326, 38, 326, 12, 340,
    38, 340, 12, 343, 38, 343, 13, 344, 39, 344, 13, 326, 320, 39, 326,
    320, 15, 320, 41, 320, 15, 336, 41, 336, 15, 345, 41, 345, 16, 336,
    42, 336, 16, 336, 323, 42, 336, 323, 16, 345, 42, 345, 16, 342, 42,
    342, 17, 320, 43, 320, 17, 325, 43, 325, 17, 336, 43, 336, 18, 325,
    44, 325, 18, 336, 44, 336, 18, 345, 44, 345, 18, 342, 44, 342, 19,
    322, 320, 45, 322, 320, 19, 322, 326, 45, 322, 326, 19, 323, 319, 45,
    323, 319, 19, 323, 320, 45, 323, 320, 20, 320, 46, 320, 20, 325, 46,
    325, 21, 325, 47, 325, 21, 336, 47, 336, 21, 336, 323, 47, 336, 323,
    21, 345, 47, 345, 22, 325, 48, 325, 22, 336, 48, 336, 22, 320, 325,
    48, 320, 325, 22, 330, 325, 48, 330, 325, 22, 336, 325, 48, 336, 325,
    23, 325, 49, 325, 23, 336, 49, 336, 23, 345, 49, 345, 23, 342, 49,
    342, 24, 337, 50, 337, 24, 344, 50, 344, 24, 342, 50, 342, 24, 322,
    320, 50, 322, 320, 24, 323, 326, 50, 323, 326, 25, 322, 51, 322, 25,
    336, 51, 336, 26, 319, 52, 319, 26, 320, 52, 320, 26, 326, 52, 326,
    26, 325, 52, 325, 26, 336, 52, 336, 27, 325, 53, 325, 27, 326, 53,
    326, 28, 325, 54, 325, 29, 321, 55, 321, 29, 336, 55, 336, 29, 345,
    55, 345, 38, 345, 49, 326, 52, 328, 54, 328, 224, 325, 1417, 5, 336,
    31, 336, 5, 327, 31, 327, 5, 321, 320, 31, 321, 320, 5, 321, 319, 31,
    321, 319, 5, 321, 327, 31, 321, 327, 5, 321, 322, 31, 321, 322, 5,
    336, 321, 31, 336, 321, 5, 324, 320, 31, 324, 320, 5, 324, 319, 31,
    324, 319, 5, 324, 327, 31, 324, 327, 5, 324, 322, 31, 324, 322, 5,
    336, 324, 31, 336, 324, 9, 336, 35, 336, 9, 327, 35, 327, 9, 322, 35,
    322, 9, 321, 320, 35, 321, 320, 9, 321, 319, 35, 321, 319, 9, 321,
    327, 35, 321, 327, 9, 321, 322, 35, 321, 322, 9, 336, 321, 35, 336,
    321, 13, 327, 39, 327, 13, 336, 39, 336, 19, 336, 45, 336, 19, 327,
    45, 327, 19, 321, 320, 45, 321, 320, 19, 321, 319, 45, 321, 319, 19,
    321, 327, 45, 321, 327, 19, 321, 322, 45, 321, 322, 19, 336, 321, 45,
    336, 321, 19, 335, 320, 45, 335, 320, 19, 335, 319, 45, 335, 319, 19,
    335, 327, 45, 335, 327, 19, 335, 322, 45, 335, 322, 19, 335, 336, 45,
    335, 336, 24, 336, 50, 336, 24, 327, 50, 327, 24, 335, 320, 50, 335,
    320, 24, 335, 319, 50, 335, 319, 24, 335, 327, 50, 335, 327, 24, 335,
    322, 50, 335, 322, 24, 335, 336, 50, 335, 336, 28, 319, 54, 319, 28,
    336, 54, 336, 28, 327, 54, 327, 28, 322, 54, 322, 380, 333, 380, 334,
    380, 333, 319, 380, 334, 319, 380, 333, 320, 380, 334, 320, 380, 333,
    349, 380, 334, 349, 365, 333, 365, 334, 365, 333, 319, 365, 334, 319,
    365, 333, 320, 365, 334, 320, 365, 333, 349, 365, 334, 349, 381, 333,
    381, 334, 381, 333, 319, 381, 334, 319, 381, 333, 320, 381, 334, 320,
    366, 333, 366, 334, 366, 333, 319, 366, 334, 319, 366, 333, 320, 366,
    334, 320, 382, 333, 382, 334, 382, 333, 319, 382, 334, 319, 382, 333,
    320, 382, 334, 320, 382, 333, 349, 382, 334, 349, 367, 333, 367, 334,
    367, 333, 319, 367, 334, 319, 367, 333, 320, 367, 334, 320, 367, 333,
    349, 367, 334, 349, 383, 333, 383, 334, 383, 333, 319, 383, 334, 319,
    383, 333, 320, 383, 334, 320, 383, 333, 349, 383, 334, 349, 368, 333,
    368, 334, 368, 333, 319, 368, 334, 319, 368, 333, 320, 368, 334, 320,
    368, 333, 349, 368, 334, 349, 384, 333, 384, 334, 384, 333, 319, 384,
    334, 319, 384, 333, 320, 384, 334, 320, 369, 333, 369, 334, 369, 333,
    319, 369, 334, 319, 369, 333, 320, 369, 334, 320, 386, 333, 386, 334,
    386, 333, 319, 386, 334, 319, 386, 333, 320, 386, 334, 320, 386, 333,
    349, 386, 334, 349, 371, 334, 371, 334, 319, 371, 334, 320, 371, 334,
    349, 387, 333, 387, 334, 387, 333, 319, 387, 334, 319, 387, 333, 320,
    387, 334, 320, 387, 333, 349, 387, 334, 349, 372, 333, 372, 334, 372,
    333, 319, 372, 334, 319, 372, 333, 320, 372, 334, 320, 372, 333, 349,
    372, 334, 349, 380, 319, 381, 319, 382, 319, 383, 319, 384, 319, 386,
    319, 387, 319, 380, 333, 352, 380, 334, 352, 380, 333, 319, 352, 380,
    334, 319, 352, 380, 333, 320, 352, 380, 334, 320, 352, 380, 333, 349,
    352, 380, 334, 349, 352, 365, 333, 352, 365, 334, 352, 365, 333, 319,
    352, 365, 334, 319, 352, 365, 333, 320, 352, 365, 334, 320, 352, 365,
    333, 349, 352, 365, 334, 349, 352, 382, 333, 352, 382, 334, 352, 382,
    333, 319, 352, 382, 334, 319, 352, 382, 333, 320, 352, 382, 334, 320,
    352, 382, 333, 349, 352, 382, 334, 349, 352, 367, 333, 352, 367, 334,
    352, 367, 333, 319, 352, 367, 334, 319, 352, 367, 333, 320, 352, 367,
    334, 320, 352, 367, 333, 349, 352, 367, 334, 349, 352, 387, 333, 352,
    387, 334, 352, 387, 333, 319, 352, 387, 334, 319, 352, 387, 333, 320,
    352, 387, 334, 320, 352, 387, 333, 349, 352, 387, 334, 349, 352, 372,
    333, 352, 372, 334, 352, 372, 333, 319, 352, 372, 334, 319, 352, 372,
    333, 320, 352, 372, 334, 320, 352, 372, 333, 349, 352, 372, 334, 349,
    352, 380, 324, 380, 323, 380, 319, 352, 380, 352, 380, 320, 352, 502,
    484, 380, 349, 380, 349, 352, 365, 324, 365, 323, 365, 319, 365, 352,
    56, 349, 382, 319, 352, 382, 352, 382, 320, 352, 382, 349, 382, 349,
    352, 366, 319, 367, 319, 367, 352, 1108, 319, 1108, 320, 1108, 349,
    383, 324, 383, 323, 383, 326, 319, 383, 349, 383, 326, 349, 368, 324,
    368, 323, 368, 319, 1163, 319, 1163, 320, 1163, 349, 386, 324, 386,
    323, 386, 326, 319, 385, 333, 385, 334, 386, 349, 386, 326, 349, 371,
    324, 371, 323, 371, 319, 370, 334, 56, 319, 30, 387, 319, 352, 387,
    352, 387, 320, 352, 387, 349, 387, 349, 352, 369, 319, 372, 319, 372,
    352, 57
};

static const uint8_t decomp_idx_t1[] = {
    0, 0, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 7, 8, 9, 10, 11, 0, 12, 0, 0,
    0, 0, 13, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 17, 18, 19, 0,
    0, 0, 20, 21, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 0, 0, 0, 0, 27, 28,
    0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
    31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 33, 34, 35, 36, 37, 38, 39, 40,
    0, 0, 0, 41, 0, 42, 43, 44, 45, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51,
    52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 55,
    56, 57, 58, 59, 60, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 63, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 69,
    70, 71, 72, 73, 74, 75, 76
};

static const uint16_t decomp_idx_t2[] = {
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16392, 16394,
    16396, 16398, 16400, 16402, 0, 16404, 16406, 16408, 16410, 16412,
    16414, 16416, 16418, 16420, 0, 16422, 16424, 16426, 16428, 16430,
    16432, 0, 0, 16434, 16436, 16438, 16440, 16442, 0, 0, 16444, 16446,
    16448, 16450, 16452, 16454, 0, 16456, 16458, 16460, 16462, 16464,
    16466, 16468, 16470, 16472, 0, 16474, 16476, 16478, 16480, 16482,
    16484, 0, 0, 16486, 16488, 16490, 16492, 16494, 0, 16496, 16498,
    16500, 16502, 16504, 16506, 16508, 16510, 16512, 16514, 16516, 16518,
    16520, 16522, 16524, 16526, 16528, 0, 0, 16530, 16532, 16534, 16536,
    16538, 16540, 16542, 16544, 16546, 16548, 16550, 16552, 16554, 16556,
    16558, 16560, 16562, 16564, 16566, 16568, 0, 0, 16571, 16573, 16575,
    16577, 16579, 16581, 16583, 16585, 16587, 0, 0, 0, 16589, 16591,
    16593, 16595, 0, 16597, 16599, 16601, 16603, 16605, 16607, 0, 0, 0, 0,
    16609, 16611, 16613, 16615, 16617, 16619, 0, 0, 0, 16621, 16623,
    16625, 16627, 16629, 16631, 0, 0, 16633, 16635, 16637, 16639, 16641,
    16643, 16645, 16647, 16649, 16651, 16653, 16655, 16657, 16659, 16661,
    16663, 16665, 16667, 0, 0, 16669, 16671, 16673, 16675, 16677, 16679,
    16681, 16683, 16685, 16687, 16689, 16691, 16693, 16695, 16697, 16699,
    16701, 16703, 16705, 16707, 16709, 16711, 16713, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 16719, 16721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16725,
    16727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 16730, 16732, 16734, 16736, 16738, 16740, 16742,
    16744, 33130, 33133, 33136, 33139, 33142, 33145, 33148, 33151, 0,
    33154, 33157, 33160, 33163, 16782, 16784, 0, 0, 16786, 16788, 16790,
    16792, 16794, 16796, 33182, 33185, 16804, 16806, 16808, 0, 0, 0,
    16810, 16812, 0, 0, 16814, 16816, 33202, 33205, 16824, 16826, 16828,
    16830, 16832, 16834, 16836, 16838, 16840, 16842, 16844, 16846, 16848,
    16850, 16852, 16854, 16856, 16858, 16860, 16862, 16864, 16866, 16868,
    16870, 16872, 16874, 16876, 16878, 16880, 16882, 16884, 16886, 0, 0,
    16888, 16890, 0, 0, 0, 0, 0, 0, 16776, 16779, 16896, 16898, 33284,
    33287, 33290, 33293, 16912, 16914, 33300, 33303, 16922, 16924, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 11, 0, 612, 16753, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 615, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 17003, 17005, 623, 17008, 17010,
    17012, 0, 17014, 0, 17016, 17018, 33404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17025, 17027, 17029,
    17031, 17033, 17035, 33421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17020, 17037, 17040, 17042, 17044, 0,
    0, 0, 0, 17047, 17049, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 17051, 17053, 0, 17055, 0, 0, 0, 17057, 0, 0, 0, 0, 17059,
    17061, 17063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17065, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 17068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 17070, 17072, 0, 17074, 0, 0, 0, 17076, 0, 0, 0, 0, 17078,
    17080, 17082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 17085, 17087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17090, 17092, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17094, 17096, 17098, 17100, 0, 0,
    17102, 17104, 0, 0, 17106, 17108, 17110, 17112, 17114, 17116, 0, 0,
    17118, 17120, 17122, 17124, 17126, 17128, 0, 0, 17130, 17132, 17134,
    17136, 17138, 17140, 17142, 17144, 17146, 17148, 17150, 17152, 0, 0,
    17154, 17156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17159,
    17161, 17163, 17165, 17167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17170, 0, 17172, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 17174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 17177, 0, 0, 0, 0, 0, 0, 0, 17179, 0, 0, 17181, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 17183, 17185, 17187, 17189, 17191, 17193,
    17195, 17197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 17199, 17201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17203,
    17205, 0, 17207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17209, 0, 0,
    17211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17214, 17216, 17218, 0, 0,
    17220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17230, 0,
    0, 17232, 17234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17236,
    17238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17242, 17244,
    17246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17252, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 17256, 0, 0, 0, 0, 0, 0, 17258, 17260, 0, 17262, 33648, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17267, 17269, 17271, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 17273, 0, 17275, 33661, 17280, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 17282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17284, 0, 0, 0, 0,
    17286, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 17290, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 17292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17294, 0, 17296, 17298,
    0, 17300, 0, 0, 0, 0, 0, 0, 0, 0, 17302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 17304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17306, 0, 0, 0,
    0, 17308, 0, 0, 0, 0, 17310, 0, 0, 0, 0, 17312, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 17314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 17319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18275, 0, 18277, 0,
    18280, 0, 18283, 0, 18285, 0, 0, 0, 18288, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 18332, 0, 18336, 0, 0, 18340, 18342, 0, 18344,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18446, 18448, 18450, 18452,
    18454, 18456, 18458, 18460, 34846, 34849, 18468, 18470, 18472, 18474,
    18476, 18478, 18480, 18482, 18484, 18486, 34872, 34875, 34878, 34881,
    18500, 18502, 18504, 18506, 34892, 34895, 18514, 18516, 18518, 18520,
    18522, 18524, 18526, 18528, 18530, 18532, 18534, 18536, 18538, 18540,
    18542, 18544, 34930, 34933, 18552, 18554, 18556, 18558, 18560, 18562,
    18564, 18566, 34952, 34955, 18574, 18576, 18578, 18580, 18582, 18584,
    18586, 18588, 18590, 18592, 18594, 18596, 18598, 18600, 18602, 18604,
    18606, 18608, 34994, 34997, 35000, 35003, 35006, 35009, 35012, 35015,
    18634, 18636, 18638, 18640, 18642, 18644, 18646, 18648, 35034, 35037,
    18656, 18658, 18660, 18662, 18664, 18666, 35052, 35055, 35058, 35061,
    35064, 35067, 18686, 18688, 18690, 18692, 18694, 18696, 18698, 18700,
    18702, 18704, 18706, 18708, 18710, 18712, 35098, 35101, 35104, 35107,
    18726, 18728, 18730, 18732, 18734, 18736, 18738, 18740, 18742, 18744,
    18746, 18748, 18750, 18752, 18754, 18756, 18758, 18760, 18762, 18764,
    18766, 18768, 18770, 18772, 18774, 18776, 18778, 18780, 18782, 18784,
    0, 18786, 0, 0, 0, 0, 18789, 18791, 18793, 18795, 35181, 35184, 35187,
    35190, 35193, 35196, 35199, 35202, 35205, 35208, 35211, 35214, 35217,
    35220, 35223, 35226, 35229, 35232, 35235, 35238, 18857, 18859, 18861,
    18863, 18865, 18867, 35253, 35256, 35259, 35262, 35265, 35268, 35271,
    35274, 35277, 35280, 18899, 18901, 18903, 18905, 18907, 18909, 18911,
    18913, 35299, 35302, 35305, 35308, 35311, 35314, 35317, 35320, 35323,
    35326, 35329, 35332, 35335, 35338, 35341, 35344, 35347, 35350, 35353,
    35356, 18975, 18977, 18979, 18981, 35367, 35370, 35373, 35376, 35379,
    35382, 35385, 35388, 35391, 35394, 19013, 19015, 19017, 19019, 19021,
    19023, 19025, 19027, 0, 0, 0, 0, 0, 0, 19029, 19031, 35417, 35420,
    35423, 35426, 35429, 35432, 19051, 19053, 35439, 35442, 35445, 35448,
    35451, 35454, 19073, 19075, 35461, 35464, 35467, 35470, 0, 0, 19089,
    19091, 35477, 35480, 35483, 35486, 0, 0, 19105, 19107, 35493, 35496,
    35499, 35502, 35505, 35508, 19127, 19129, 35515, 35518, 35521, 35524,
    35527, 35530, 19149, 19151, 35537, 35540, 35543, 35546, 35549, 35552,
    19171, 19173, 35559, 35562, 35565, 35568, 35571, 35574, 19193, 19195,
    35581, 35584, 35587, 35590, 0, 0, 19209, 19211, 35597, 35600, 35603,
    35606, 0, 0, 19225, 19227, 35613, 35616, 35619, 35622, 35625, 35628,
    0, 19247, 0, 35633, 0, 35636, 0, 35639, 19258, 19260, 35646, 35649,
    35652, 35655, 35658, 35661, 19280, 19282, 35668, 35671, 35674, 35677,
    35680, 35683, 19302, 17029, 19304, 17031, 19306, 17033, 19308, 17035,
    19310, 17040, 19312, 17042, 19314, 17044, 0, 0, 35700, 35703, 52090,
    52094, 52098, 52102, 52106, 52110, 35730, 35733, 52120, 52124, 52128,
    52132, 52136, 52140, 35760, 35763, 52150, 52154, 52158, 52162, 52166,
    52170, 35790, 35793, 52180, 52184, 52188, 52192, 52196, 52200, 35820,
    35823, 52210, 52214, 52218, 52222, 52226, 52230, 35850, 35853, 52240,
    52244, 52248, 52252, 52256, 52260, 19496, 19498, 35884, 19503, 35889,
    0, 19510, 35896, 19515, 19517, 19519, 17005, 19521, 0, 636, 0, 0,
    19523, 35909, 19528, 35914, 0, 19533, 35919, 19538, 17008, 19540,
    17010, 19542, 19544, 19546, 19548, 19550, 19552, 35938, 33404, 0, 0,
    19557, 35943, 19562, 19564, 19566, 17012, 0, 19568, 19570, 19572,
    19574, 19576, 35962, 33421, 19581, 19583, 19585, 35971, 19590, 19592,
    19594, 17016, 19596, 19598, 17003, 3216, 0, 0, 35985, 19604, 35990, 0,
    19609, 35995, 19614, 17014, 19616, 17018, 19618, 3236, 0, 0, 1, 2, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 209, 16402, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16715, 16717, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16723, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    17222, 17224, 17226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17248, 0, 0, 0, 0, 17250, 0, 0,
    17254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 16892, 0, 16894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16926, 0, 0, 16928, 0, 0, 16930, 0,
    16932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 16934, 0, 16936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16938, 16940, 16942,
    16944, 16946, 0, 0, 16948, 16950, 0, 0, 16952, 16954, 0, 0, 0, 0, 0,
    0, 16956, 16958, 0, 0, 16960, 16962, 0, 0, 16964, 16966, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 16969, 16971, 16973, 16975, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16978, 16980,
    16982, 16984, 0, 0, 0, 0, 0, 0, 16986, 16988, 16990, 16992, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 610, 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17228, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17322, 0,
    17324, 0, 17326, 0, 17328, 0, 17330, 0, 17332, 0, 17334, 0, 17336, 0,
    17338, 0, 17340, 0, 17342, 0, 17344, 0, 0, 17346, 0, 17348, 0, 17350,
    0, 0, 0, 0, 0, 0, 17352, 17354, 0, 17356, 17358, 0, 17360, 17362, 0,
    17364, 17366, 0, 17368, 17370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 17372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17379, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17383, 0, 17385, 0, 17387, 0,
    17389, 0, 17391, 0, 17393, 0, 17395, 0, 17397, 0, 17399, 0, 17401, 0,
    17403, 0, 17405, 0, 0, 17407, 0, 17409, 0, 17411, 0, 0, 0, 0, 0, 0,
    17413, 17415, 0, 17417, 17419, 0, 17421, 17423, 0, 17425, 17427, 0,
    17429, 17431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 17434, 0, 0, 17436, 17438, 17440, 17442, 0, 0, 0, 17444, 0,
    1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1505, 1506, 1507,
    1508, 1509, 1419, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517,
    1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528,
    1529, 1530, 1531, 1532, 1533, 1534, 1535, 1388, 1458, 1536, 1537,
    1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548,
    1549, 1550, 1551, 1552, 1241, 1553, 1554, 1555, 1556, 1557, 1558,
    1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569,
    1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580,
    1581, 1582, 1583, 1584, 1516, 1585, 1586, 1357, 1587, 1588, 1214,
    1293, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598,
    1599, 1600, 1487, 1601, 1602, 1603, 1231, 1604, 1605, 1606, 1607,
    1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618,
    1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629,
    1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640,
    1641, 1642, 1643, 1644, 1645, 1646, 1647, 1600, 1648, 1649, 1650,
    1651, 1652, 1653, 1654, 1655, 1357, 1656, 1657, 1658, 1659, 1660,
    1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671,
    1672, 1673, 1674, 1675, 1516, 1676, 1677, 1678, 1679, 1680, 1681,
    1682, 1683, 1684, 1685, 1148, 1686, 1687, 1688, 1689, 1690, 1691,
    1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1588,
    1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712,
    1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723,
    1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734,
    1735, 1736, 1737, 1327, 1738, 1739, 1740, 1741, 1742, 1743, 1744,
    1745, 1746, 1747, 1748, 1749, 1750, 0, 0, 1753, 0, 1755, 0, 0, 1758,
    1759, 1760, 1761, 1762, 1763, 932, 1764, 1765, 1766, 0, 1767, 0, 1769,
    0, 0, 1770, 1771, 0, 0, 0, 1773, 1774, 1775, 1776, 1777, 1778, 1255,
    1260, 1264, 1288, 1289, 1295, 1779, 1323, 1780, 1781, 1782, 1783,
    1366, 1406, 1784, 1413, 1418, 1442, 1785, 1449, 1468, 1147, 1786,
    1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1246, 1796,
    1797, 1798, 937, 1799, 1800, 1637, 1801, 1802, 1803, 1128, 1804, 1805,
    1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1770, 1814,
    1815, 1816, 1817, 1818, 1819, 0, 0, 1821, 1277, 1822, 1823, 1824,
    1825, 1287, 1290, 1779, 1826, 1318, 1827, 1753, 1828, 1829, 1830,
    1831, 1832, 1833, 1834, 1835, 1836, 1837, 1411, 1838, 1413, 1839,
    1418, 1840, 1841, 1842, 1843, 1844, 1755, 1458, 1459, 1845, 1846,
    1487, 1148, 1847, 1160, 1787, 1171, 1788, 1848, 1187, 1849, 1759,
    1204, 1850, 1851, 1852, 1853, 1760, 1854, 1224, 1233, 1855, 1243,
    1856, 1800, 1857, 1858, 1637, 1859, 1128, 1860, 1861, 1862, 1863,
    1864, 1808, 1865, 1769, 1866, 1809, 1585, 1867, 1810, 1868, 1812, 7,
    1869, 1870, 1871, 1872, 1814, 1764, 1873, 1815, 1874, 1816, 1875,
    1505, 1876, 1877, 1878, 1473, 1879, 1234, 1880, 1881, 1882, 1883,
    1884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    18291, 0, 18293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18298, 18300, 34686,
    34689, 18308, 18310, 18312, 18314, 18316, 18318, 18320, 18322, 18324,
    0, 18326, 18328, 18330, 16997, 18334, 0, 18338, 0, 17001, 19508, 0,
    17023, 18346, 0, 18349, 18351, 18353, 18302, 18355, 18357, 18359,
    18361, 18363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17375, 0, 17377, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 17381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 17447, 17449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 17452, 17454, 33840, 33843, 33846, 33849,
    33852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17474, 17476,
    33862, 33865, 33868, 33871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259,
    1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270,
    1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281,
    1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
    1293, 1294, 1295, 1296, 1297, 1298, 1299, 1299, 1299, 1300, 1301,
    1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312,
    1313, 1314, 1315, 1316, 1317, 1317, 1318, 1319, 1320, 1321, 1322,
    1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333,
    1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344,
    1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1353, 1354,
    1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365,
    1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376,
    1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387,
    1388, 1389, 1390, 1391, 1391, 1152, 1392, 1392, 1393, 1394, 1395,
    1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406,
    1407, 1408, 1409, 1410, 1411, 1410, 1412, 1413, 1414, 1415, 1416,
    1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
    1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438,
    1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449,
    1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460,
    1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471,
    1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482,
    1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493,
    1494, 1495, 1496, 1497, 1146, 1147, 1148, 1149, 1150, 1153, 1154,
    1155, 1156, 1157, 1159, 1160, 1161, 1162, 1163, 1165, 1166, 1167,
    1168, 1169, 1171, 1172, 1173, 1174, 1175, 1177, 1178, 1179, 1180,
    1182, 1184, 1185, 1186, 1187, 1188, 1190, 1191, 1192, 1193, 1194,
    1196, 1197, 1198, 1199, 1200, 1200, 1202, 1203, 1204, 1205, 1207,
    1208, 1209, 1210, 1211, 1213, 1214, 1215, 1216, 1217, 1219, 1220,
    1221, 1223, 1224, 1226, 1227, 1228, 1229, 1230, 1232, 1232, 1233,
    1234, 1235, 1237, 1238, 1239, 1240, 1241, 1243, 1244, 1245, 1246,
    1247, 1249, 932, 933, 934, 937, 1113, 1119, 990, 1130, 1130, 1049,
    1062, 1181, 1067, 1087, 1088, 1089, 1106, 1107, 1108, 1109, 1110,
    1111, 1112, 1114, 1115, 1116, 1117, 1118, 1120, 1121, 1122, 1123,
    1124, 1125, 1126, 1127, 1128, 1129, 1131, 1132, 1133, 1134, 1135,
    1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1152,
    1158, 1164, 1170, 1176, 1183, 1189, 1195, 1201, 1206, 1212, 1218,
    1225, 1231, 1236, 1242, 1248, 1222, 774, 683, 1806, 1996, 2024, 2046,
    2053, 2060, 2006, 2001, 2404, 5, 705, 792, 829, 584, 1752, 662, 700,
    1768, 1772, 785, 345, 1548, 1895, 1912, 1964, 1984, 1990, 1997, 1862,
    2009, 1820, 2018, 2025, 2030, 2034, 2038, 2044, 2047, 2048, 2050,
    2051, 2052, 2054, 2055, 2056, 2058, 2059, 2061, 1885, 1867, 1868,
    1886, 1887, 1888, 1889, 1890, 1898, 1903, 1906, 2057, 1911, 1913,
    2049, 2026, 7, 3, 4, 6, 1981, 1982, 1983, 1985, 1986, 1987, 1988,
    1989, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2002, 2003,
    2004, 2005, 593, 2007, 2008, 2010, 2011, 2012, 2013, 1874, 1874, 2014,
    2015, 2016, 2017, 2019, 2020, 2021, 2022, 2023, 1151, 1875, 2027,
    2028, 2029, 1751, 2031, 2032, 1754, 2033, 1756, 1757, 2035, 2036,
    2037, 2039, 2040, 2041, 2042, 2043, 2045
};

int32_t decomp_idx(int32_t codepoint) {
    if (codepoint >= 195102) return 0;
    return decomp_idx_t2[(decomp_idx_t1[codepoint >> 6] << 6) + (codepoint & 63)];
}
static const uint8_t comp_idx_t1[] = {
    0, 1, 2, 3, 0, 4, 5, 6, 7, 0, 8, 9, 0, 10, 0, 11, 0, 12, 0, 0, 13, 0,
    0, 0, 0, 0, 0, 0, 14, 15, 16, 0, 17, 18, 19, 20, 0, 0, 21, 22, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 23, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 28, 0, 29, 0, 30, 0, 0, 0, 31, 0, 0, 32, 33, 0, 0, 0, 34, 0,
    0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 38, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 40, 41,
    0, 42, 43, 0, 44, 45, 46, 47, 0, 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 51, 0, 52, 0, 53, 54, 55, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 60, 61, 62, 63, 64, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 0, 0, 0, 67
};

static const uint16_t comp_idx_t2[] = {
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 4, 20, 23,
    28, 34, 502, 52, 59, 66, 81, 82, 87, 517, 94, 103, 119, 0, 122, 130,
    137, 144, 163, 165, 171, 173, 182, 0, 0, 0, 0, 0, 0, 191, 207, 210,
    215, 221, 701, 239, 246, 254, 268, 270, 275, 281, 284, 293, 309, 0,
    571, 313, 320, 328, 347, 349, 585, 358, 368, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 400, 401, 753, 403, 0, 0, 405, 0, 0,
    0, 0, 762, 0, 0, 0, 0, 413, 765, 419, 0, 768, 0, 0, 0, 424, 0, 0, 0,
    0, 0, 428, 0, 432, 433, 434, 436, 0, 0, 437, 0, 0, 0, 0, 441, 0, 0, 0,
    0, 445, 449, 452, 0, 453, 0, 0, 0, 454, 0, 0, 0, 0, 0, 459, 463, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 469, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 478, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 480, 481, 0, 0, 0, 0, 482, 483, 0, 0, 0, 0, 0,
    0, 484, 485, 486, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 488, 492, 497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503,
    508, 0, 0, 0, 0, 0, 0, 513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 524, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 535, 536, 537, 0, 0, 0, 0, 538,
    539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0,
    0, 609, 0, 613, 0, 618, 0, 0, 0, 0, 0, 625, 0, 629, 0, 0, 0, 630, 0,
    0, 0, 636, 0, 0, 641, 0, 642, 0, 0, 643, 0, 0, 0, 651, 0, 655, 0, 661,
    0, 0, 0, 0, 0, 669, 0, 673, 0, 0, 0, 675, 0, 0, 0, 686, 692, 695, 0,
    0, 698, 0, 0, 0, 699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 703, 0, 0, 705, 0, 706, 709,
    711, 712, 0, 716, 0, 0, 0, 717, 0, 0, 0, 0, 718, 0, 0, 0, 722, 0, 0,
    0, 723, 0, 724, 0, 0, 725, 0, 0, 727, 0, 728, 731, 733, 734, 0, 738,
    0, 0, 0, 739, 0, 0, 0, 0, 740, 0, 0, 0, 745, 0, 0, 0, 746, 0, 747, 0,
    0, 0, 0, 0, 0, 0, 0, 748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 749, 750, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 760, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    763, 764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 782, 0, 783,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 795,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 798, 0, 0, 799, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0, 0, 0, 0,
    0, 472, 0, 0, 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 683, 685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 755, 0, 0, 0, 0, 0, 0, 756, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769,
    771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 773, 0, 0, 776, 0, 0, 0, 0, 0, 0, 0, 0, 587, 0, 588, 0,
    589, 0, 590, 0, 591, 0, 0, 0, 592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 593, 0, 594, 0, 595, 596, 0, 0, 597, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 780,
    781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 784, 785, 0, 0, 0, 0, 0, 0, 787,
    788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 789, 791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 793, 794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 796, 797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 800, 804, 808, 809, 810, 811, 812, 813, 814, 818, 822,
    823, 824, 825, 826, 827, 828, 830, 0, 0, 0, 0, 0, 0, 832, 834, 0, 0,
    0, 0, 0, 0, 836, 840, 844, 845, 846, 847, 848, 849, 850, 854, 858,
    859, 860, 861, 862, 863, 864, 867, 0, 0, 0, 0, 0, 0, 870, 873, 0, 0,
    0, 0, 0, 0, 876, 878, 0, 0, 0, 0, 0, 0, 880, 882, 0, 0, 0, 0, 0, 0,
    884, 887, 0, 0, 0, 0, 0, 0, 0, 890, 0, 0, 0, 0, 0, 0, 893, 897, 901,
    902, 903, 904, 905, 906, 907, 911, 915, 916, 917, 751, 919, 920, 921,
    0, 0, 0, 922, 0, 0, 0, 0, 0, 0, 0, 923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 924, 0, 0, 0, 0, 0, 0, 0,
    0, 925, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 489, 0, 490, 0, 491, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 520, 0, 521, 0, 522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 528, 0, 0, 0, 0, 529, 0, 0, 786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 532, 0, 533, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 0, 0, 0, 0, 0, 0,
    541, 0, 542, 0, 0, 544, 0, 0, 0, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 0, 0, 548, 549, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 551, 552, 0, 0, 553, 554, 0, 0, 555, 556, 557, 558, 0,
    0, 0, 0, 559, 560, 0, 0, 561, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 563,
    918, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, 0, 0,
    568, 569, 0, 570, 0, 0, 0, 0, 0, 0, 579, 580, 581, 582, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 514, 0, 93, 0, 523,
    0, 121, 0, 526, 0, 527, 0, 530, 0, 531, 0, 188, 0, 189, 0, 190, 0,
    543, 0, 0, 546, 0, 238, 0, 550, 0, 0, 0, 0, 0, 0, 565, 0, 0, 311, 0,
    0, 583, 0, 0, 356, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0,
    0, 0, 0, 0, 0, 0, 380, 0, 0, 0, 0, 384, 0, 385, 0, 386, 0, 387, 0,
    388, 0, 389, 0, 390, 0, 391, 0, 392, 0, 393, 0, 394, 0, 395, 0, 0,
    752, 0, 402, 0, 404, 0, 0, 0, 0, 0, 0, 409, 0, 0, 411, 0, 0, 417, 0,
    0, 420, 0, 0, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 772, 442, 443, 444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 376, 0, 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 474
};

int32_t comp_idx(int32_t codepoint) {
    if (codepoint >= 69939) return 0;
    return comp_idx_t2[(comp_idx_t1[codepoint >> 5] << 5) + (codepoint & 31)];
}
static const uint8_t ccc_t1[] = {
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 3, 0, 0, 0, 4,
    5, 6, 7, 0, 8, 9, 10, 0, 11, 12, 13, 0, 14, 15, 16, 15, 17, 15, 17,
    15, 17, 15, 17, 0, 17, 0, 18, 15, 17, 0, 17, 0, 19, 20, 21, 22, 23,
    24, 25, 26, 27, 28, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 32, 0, 0, 33, 0, 34, 0, 0,
    0, 35, 36, 0, 0, 37, 38, 39, 40, 41, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 46, 0, 47, 0, 0, 0, 0, 0, 0, 0,
    0, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 52, 0, 0, 0, 0, 53,
    0, 0, 54, 55, 56, 57, 58, 0, 0, 59, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 53, 66, 0, 67, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 70, 0, 0, 71
};

static const uint8_t ccc_t2[] = {
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230,
    230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
    230, 230, 230, 230, 232, 220, 220, 220, 220, 232, 216, 220, 220, 220,
    220, 220, 202, 202, 220, 220, 220, 220, 202, 202, 220, 220, 220, 220,
    220, 220, 220, 220, 220, 220, 220, 1, 1, 1, 1, 1, 220, 220, 220, 220,
    230, 230, 230, 230, 230, 230, 230, 230, 240, 230, 220, 220, 220, 230,
    230, 230, 220, 220, 0, 230, 230, 230, 220, 220, 220, 220, 230, 232,
    220, 220, 230, 233, 234, 234, 233, 234, 234, 233, 230, 230, 230, 230,
    230, 230, 230, 230, 230, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    220, 230, 230, 230, 230, 220, 230, 230, 230, 222, 220, 230, 230, 230,
    230, 230, 230, 220, 220, 220, 220, 220, 220, 230, 230, 220, 230, 230,
    222, 228, 230, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22,
    0, 23, 0, 24, 25, 0, 230, 220, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230,
    230, 230, 230, 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 230,
    230, 220, 220, 230, 230, 230, 230, 230, 220, 230, 230, 220, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 230, 230, 230, 230, 230, 230, 230, 0, 0, 230, 230, 230,
    230, 220, 230, 0, 0, 230, 230, 0, 220, 230, 230, 220, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 220, 230, 230, 220,
    230, 230, 220, 220, 220, 230, 220, 220, 230, 220, 230, 230, 230, 220,
    230, 220, 230, 220, 230, 220, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230,
    230, 230, 230, 220, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230,
    230, 230, 0, 230, 230, 230, 230, 230, 230, 230, 230, 230, 0, 230, 230,
    230, 0, 230, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 220, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 220, 230,
    230, 220, 230, 230, 230, 220, 220, 220, 27, 28, 29, 230, 230, 230,
    220, 230, 230, 220, 220, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 9, 0, 0, 0, 230, 220, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0,
    0, 84, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 103, 103, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 107,
    107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 118, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 220, 0, 216, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 129, 130, 0, 132, 0, 0, 0, 0, 0, 130, 130, 130, 130, 0, 0,
    130, 0, 230, 230, 9, 0, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 7, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222,
    230, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 230, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230, 230, 230, 230,
    0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 220, 230,
    230, 230, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    230, 230, 230, 0, 1, 220, 220, 220, 220, 220, 230, 230, 220, 220, 220,
    220, 230, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0,
    230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 220, 230, 230, 230,
    230, 230, 230, 230, 220, 230, 230, 234, 214, 220, 202, 230, 230, 230,
    230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
    230, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 233, 220, 230, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 230, 230, 1, 1, 230, 230, 230, 230, 1, 1, 1, 230, 230,
    0, 0, 0, 0, 230, 0, 0, 0, 1, 1, 230, 220, 230, 1, 1, 220, 220, 220,
    220, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230,
    230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230,
    230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
    230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
    230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218,
    228, 232, 222, 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 0,
    0, 0, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230,
    230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 230,
    230, 220, 0, 0, 230, 230, 0, 0, 0, 0, 0, 230, 230, 0, 230, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230, 230, 230, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 230, 1, 220, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 9, 7, 0, 0, 0, 0, 0, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 7, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 216, 1, 1, 1,
    0, 0, 0, 226, 216, 216, 216, 216, 216, 0, 0, 0, 0, 0, 0, 0, 0, 220,
    220, 220, 220, 220, 220, 220, 220, 0, 0, 230, 230, 230, 230, 230, 220,
    220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230
};

int32_t ccc(int32_t codepoint) {
    if (codepoint >= 119365) return 0;
    return ccc_t2[(ccc_t1[codepoint >> 6] << 6) + (codepoint & 63)];
}
static const int32_t lowercase_offset_values[] = {
    0, 32, 1, -199, -121, 210, 206, 205, 79, 202, 203, 207, 211, 209, 213,
    214, 218, 217, 219, 2, -97, -56, -130, 10795, -163, 10792, -195, 69,
    71, 38, 37, 64, 63, 8, -60, -7, 80, 15, 48, 7264, -7615, -8, -74, -9,
    -86, -100, -112, -128, -126, -7517, -8383, -8262, 28, 16, 26, -10743,
    -3814, -10727, -10780, -10749, -10783, -10782, -10815, -35332, -42280,
    -42308, 40
};

static const uint8_t lowercase_offset_t1[] = {
    0, 1, 0, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 9, 10, 11, 12, 13, 14, 15, 16,
    17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,
    19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 20, 20, 21, 20, 22, 23, 24, 25, 0, 0, 0, 0, 26,
    27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 32,
    20, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 34, 35, 0, 36, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40
};

static const uint8_t lowercase_offset_t2[] = {
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 4, 2, 0, 2, 0, 2, 0, 0, 0, 5,
    2, 0, 2, 0, 6, 2, 0, 7, 7, 2, 0, 0, 8, 9, 10, 2, 0, 7, 11, 0, 12, 13,
    2, 0, 0, 0, 12, 14, 0, 15, 2, 0, 2, 0, 2, 0, 16, 2, 0, 16, 0, 0, 2, 0,
    16, 2, 0, 17, 17, 2, 0, 2, 0, 18, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
    19, 2, 0, 19, 2, 0, 19, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0,
    19, 2, 0, 2, 0, 20, 21, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 22, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0,
    0, 0, 0, 0, 0, 23, 2, 0, 24, 25, 0, 0, 2, 0, 26, 27, 28, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 30, 30, 30, 0, 31, 0, 32, 32, 0, 1,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 0, 0, 0, 0, 34, 0, 0, 2, 0, 35, 2, 0, 0, 22, 22, 22, 36, 36, 36,
    36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 37, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
    38, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, 39, 39,
    39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
    39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 39,
    0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0,
    0, 0, 0, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41,
    41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41,
    41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 41, 0, 41, 0, 41, 0, 0, 0, 0, 0, 0, 0,
    0, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 0,
    0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0,
    0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41,
    42, 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 44, 44, 44, 43, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 41, 41, 46, 46, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47,
    48, 48, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
    0, 0, 0, 50, 51, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53, 53, 53, 53, 53, 53,
    53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
    54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 38, 38,
    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 55, 56, 57, 0,
    0, 2, 0, 2, 0, 2, 0, 58, 59, 60, 61, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0,
    0, 0, 62, 62, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0,
    0, 2, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    0, 2, 0, 2, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 63,
    2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0, 0, 0, 2, 0, 64, 0, 0, 2, 0, 2, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 65, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 66, 66, 66, 66, 66, 66,
    66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
    66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66
};

int32_t lowercase_offset(int32_t codepoint) {
    int offset_index;
    if (codepoint >= 66600) return 0;
    offset_index = lowercase_offset_t2[(lowercase_offset_t1[codepoint >> 6] << 6) + (codepoint & 63)];
    return lowercase_offset_values[offset_index];
}